Audited changelog entries since last release.
UnderstandUpdated changelog with missing entries.
EditConfirmed no new features added.
VerifyCommitted and pushed changelog changes.
EditPerformed patch release and pushed tags.
BuildAudit changelog entries for all commits since the last release.
Find the last release tag:
git tag --sort=-version:refname | head -1List all commits since that tag:
git log <tag>..HEAD --onelineRead each package's [Unreleased] section:
For each commit, check:
packages/ai/src/models.generated.ts) unless accompanied by an intentional product-facing change in non-generated source/docs.git show <hash> --stat)Description ([#N](url) by [@user](url))Cross-package duplication rule:
Changes in ai, agent or tui that affect end users should be duplicated to coding-agent changelog, since coding-agent is the user-facing package that depends on them.
Add New Features section after changelog fixes:
### New Features section at the start of ## [Unreleased] in packages/coding-agent/CHANGELOG.md.Report:
Sections (in order):
### Breaking Changes - API changes requiring migration### Added - New features### Changed - Changes to existing functionality### Fixed - Bug fixes### Removed - Removed featuresAttribution:
Fixed foo ([#123](https://github.com/badlogic/pi-mono/issues/123))Added bar ([#456](https://github.com/badlogic/pi-mono/pull/456) by [@user](https://github.com/user))stil there?
>git tag --sort=-version:refname | head -1 && printf '\n---\n' && LAST_TAG=$(git tag --sort=-version:refname | head -1) && git log ${LAST_TAG}..HEAD --onelinev0.65.0
---
52d16d5a fix(coding-agent): persist bash output on line truncation closes #2852
0c98d5a5 fix(coding-agent): remove stale /exit docs closes #2850
080af6fc fix(coding-agent): handle missing session cwd
127547f2 fix(coding-agent): preserve json mode for piped stdin (#2848)
71e44369 fix(coding-agent): handle git/npm extension paths in CLI resolution (#2845)
1a6a58eb Add new contributor
02c2a3e5 fix: quote $RESX and $RESY in doom build script (SC2086) (#2817)
6044cabb fix(ai): preserve cache_write_tokens in completions stream usage closes #2802
a7acef92 fix(coding-agent): resource collision precedence, user/project skills override package skills
fbd35a46 Renamed test
5e5eeb96 fix(coding-agent): handle async fs.watch error events in theme watcher
72a43dc0 fix(coding-agent): forward RpcClient subprocess stderr to parent in real-time
84d13406 Add [Unreleased] section for next cycleReviewing changelogs
I need to inspect the changelogs for unreleased items. It seems reading the full files might be necessary since I'm modifying the packages, particularly in the coding-agent changelog. I'll likely look into the AI changelog and possibly others if I'm making modifications. So, let's read through all three changelogs to ensure I'm catching everything important!
Inspecting commit details
I need to audit commits since version 0.65.0. My plan is to inspect the changes using git show --stat and take a look at the commit messages. I need to identify any missing entries. The commits include housekeeping updates and documentation changes. I'll have to check each one. There are 10 commits since the tag, plus some unreleased section additions and a test rename. I might run git show --stat for all of them at once.
>for c in 52d16d5a 0c98d5a5 080af6fc 127547f2 71e44369 1a6a58eb 02c2a3e5 6044cabb a7acef92 fbd35a46 5e5eeb96 72a43dc0 84d13406; do echo '=== '$c '==='; git show --stat --format=fuller --summary $c; echo; done=== 52d16d5a ===
commit 52d16d5a3174159e625bd315581ac9a2544811a4
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sun Apr 5 23:28:49 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sun Apr 5 23:28:49 2026 +0200
fix(coding-agent): persist bash output on line truncation closes #2852
packages/coding-agent/CHANGELOG.md | 1 +
packages/coding-agent/src/core/bash-executor.ts | 27 ++++++++++++----
packages/coding-agent/src/core/tools/bash.ts | 24 ++++++++++----
packages/coding-agent/test/tools.test.ts | 43 ++++++++++++++++++++++++-
4 files changed, 80 insertions(+), 15 deletions(-)
=== 0c98d5a5 ===
commit 0c98d5a54a9e704997f9d29952e5ce810edae2d4
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sun Apr 5 23:06:47 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sun Apr 5 23:06:47 2026 +0200
fix(coding-agent): remove stale /exit docs closes #2850
packages/coding-agent/CHANGELOG.md | 1 +
packages/coding-agent/README.md | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
=== 080af6fc ===
commit 080af6fc062f41be2d0a4862a741d54ed4bc130a
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sun Apr 5 21:24:15 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sun Apr 5 21:24:32 2026 +0200
fix(coding-agent): handle missing session cwd
.../coding-agent/src/core/agent-session-runtime.ts | 12 ++-
packages/coding-agent/src/core/session-cwd.ts | 59 ++++++++++++++
packages/coding-agent/src/core/session-manager.ts | 5 +-
packages/coding-agent/src/main.ts | 64 +++++++++++++--
.../src/modes/interactive/interactive-mode.ts | 40 ++++++++++
packages/coding-agent/test/session-cwd.test.ts | 91 ++++++++++++++++++++++
6 files changed, 259 insertions(+), 12 deletions(-)
create mode 100644 packages/coding-agent/src/core/session-cwd.ts
create mode 100644 packages/coding-agent/test/session-cwd.test.ts
=== 127547f2 ===
commit 127547f2b33e8f29ce0bcfbf0867fe0ebaab630f
Author: Aliou Diallo <[REDACTED]>
AuthorDate: Sun Apr 5 21:02:18 2026 +0200
Commit: GitHub <[REDACTED]>
CommitDate: Sun Apr 5 21:02:18 2026 +0200
fix(coding-agent): preserve json mode for piped stdin (#2848)
packages/coding-agent/CHANGELOG.md | 1 +
packages/coding-agent/src/main.ts | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
=== 71e44369 ===
commit 71e4436932bc54d1187366205766a0f14bc47671
Author: Aliou Diallo <[REDACTED]>
AuthorDate: Sun Apr 5 18:42:14 2026 +0200
Commit: GitHub <[REDACTED]>
CommitDate: Sun Apr 5 18:42:14 2026 +0200
fix(coding-agent): handle git/npm extension paths in CLI resolution (#2845)
packages/coding-agent/CHANGELOG.md | 1 +
packages/coding-agent/src/core/package-manager.ts | 11 ++---------
packages/coding-agent/src/core/resource-loader.ts | 7 ++++---
packages/coding-agent/src/main.ts | 3 ++-
packages/coding-agent/src/utils/paths.ts | 20 ++++++++++++++++++++
5 files changed, 29 insertions(+), 13 deletions(-)
create mode 100644 packages/coding-agent/src/utils/paths.ts
=== 1a6a58eb ===
commit 1a6a58eb05f7256ecf51cce6c2cae2f9e464d712
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sun Apr 5 01:10:47 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sun Apr 5 01:10:57 2026 +0200
Add new contributor
.github/APPROVED_CONTRIBUTORS | 4 ++++
1 file changed, 4 insertions(+)
=== 02c2a3e5 ===
commit 02c2a3e54bb27c94f72fb0dd046b7889a1c33eb2
Author: Otto Jongerius <[REDACTED]>
AuthorDate: Sun Apr 5 11:07:34 2026 +1200
Commit: GitHub <[REDACTED]>
CommitDate: Sun Apr 5 01:07:34 2026 +0200
fix: quote $RESX and $RESY in doom build script (SC2086) (#2817)
packages/coding-agent/examples/extensions/doom-overlay/doom/build.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
=== 6044cabb ===
commit 6044cabb157ed6e05d3fa8e9b37fcb1141f473a1
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sat Apr 4 21:39:11 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sat Apr 4 21:39:11 2026 +0200
fix(ai): preserve cache_write_tokens in completions stream usage closes #2802
packages/ai/CHANGELOG.md | 4 +
packages/ai/src/providers/openai-completions.ts | 24 ++++--
.../ai/test/openai-completions-tool-choice.test.ts | 87 +++++++++++++++++++++-
.../ai/test/openrouter-cache-write-repro.test.ts | 78 +++++++++++++++++++
4 files changed, 185 insertions(+), 8 deletions(-)
create mode 100644 packages/ai/test/openrouter-cache-write-repro.test.ts
=== a7acef92 ===
commit a7acef92a78c1ac57b97562ed0843fbfcae25e24
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sat Apr 4 21:28:38 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sat Apr 4 21:28:38 2026 +0200
fix(coding-agent): resource collision precedence, user/project skills override package skills
Sort resolved resources by precedence rank (project settings > project auto >
user settings > user auto > package) so first-wins collision logic produces
correct results. Also reorder CLI paths to prepend instead of append.
fixes #2781
packages/coding-agent/src/core/package-manager.ts | 22 +++-
packages/coding-agent/src/core/resource-loader.ts | 6 +-
.../2781-skill-collision-precedence.test.ts | 120 +++++++++++++++++++++
3 files changed, 144 insertions(+), 4 deletions(-)
create mode 100644 packages/coding-agent/test/suite/regressions/2781-skill-collision-precedence.test.ts
=== fbd35a46 ===
commit fbd35a4660d4b2bc900f01f27fe2d99d8354fa72
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sat Apr 4 21:07:08 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sat Apr 4 21:07:08 2026 +0200
Renamed test
...-host.test.ts => agent-session-runtime.test.ts} | 78 +++++++++++-----------
1 file changed, 39 insertions(+), 39 deletions(-)
rename packages/coding-agent/test/suite/{agent-session-runtime-host.test.ts => agent-session-runtime.test.ts} (81%)
=== 5e5eeb96 ===
commit 5e5eeb9603fdd78d07aad81dcd724d992de2e928
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sat Apr 4 20:51:34 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sat Apr 4 20:51:34 2026 +0200
fix(coding-agent): handle async fs.watch error events in theme watcher
closes #2791
packages/coding-agent/CHANGELOG.md | 1 +
.../src/modes/interactive/theme/theme.ts | 8 ++
.../regressions/2791-fswatch-error-crash.test.ts | 106 +++++++++++++++++++++
3 files changed, 115 insertions(+)
create mode 100644 packages/coding-agent/test/suite/regressions/2791-fswatch-error-crash.test.ts
=== 72a43dc0 ===
commit 72a43dc0636e30fd93958aa3b006a4d202f24b58
Author: Mario Zechner <[REDACTED]>
AuthorDate: Sat Apr 4 12:41:09 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Sat Apr 4 12:41:09 2026 +0200
fix(coding-agent): forward RpcClient subprocess stderr to parent in real-time
fixes #2805
packages/coding-agent/CHANGELOG.md | 4 ++++
packages/coding-agent/src/modes/rpc/rpc-client.ts | 1 +
2 files changed, 5 insertions(+)
=== 84d13406 ===
commit 84d134061f0e0f338e67028488bd1b78c8bc6d25
Author: Mario Zechner <[REDACTED]>
AuthorDate: Fri Apr 3 20:32:11 2026 +0200
Commit: Mario Zechner <[REDACTED]>
CommitDate: Fri Apr 3 20:32:11 2026 +0200
Add [Unreleased] section for next cycle
packages/agent/CHANGELOG.md | 2 ++
packages/ai/CHANGELOG.md | 2 ++
packages/ai/src/models.generated.ts | 17 +++++++++++++++++
packages/coding-agent/CHANGELOG.md | 2 ++
packages/mom/CHANGELOG.md | 2 ++
packages/tui/CHANGELOG.md | 2 ++
packages/web-ui/CHANGELOG.md | 2 ++
7 files changed, 29 insertions(+)Determining changelog entries
I need to find missing changelog entries and possibly add them directly. It looks like there might be several commits without entries, like handling missing session cwd and resource collision precedence. I wonder if I should include entries for example changes that are essential for users or skip those that are just doc-only. There’s also a cross-package duplication to consider. I should inspect existing entries to see if they indirectly cover the issues, but I may need to read through the whole coding-agent changelog for context.
>git show --stat --format=medium 080af6fc && printf '\n---PATCH 080af6fc---\n' && git show --unified=40 --format=medium -- packages/coding-agent/src/core/session-cwd.ts packages/coding-agent/src/main.ts packages/coding-agent/src/modes/interactive/interactive-mode.ts 080af6fc && printf '\n---PATCH a7acef92---\n' && git show --unified=40 --format=medium a7acef92 -- packages/coding-agent/src/core/package-manager.ts packages/coding-agent/src/core/resource-loader.tscommit 080af6fc062f41be2d0a4862a741d54ed4bc130a
Author: Mario Zechner <[REDACTED]>
Date: Sun Apr 5 21:24:15 2026 +0200
fix(coding-agent): handle missing session cwd
.../coding-agent/src/core/agent-session-runtime.ts | 12 ++-
packages/coding-agent/src/core/session-cwd.ts | 59 ++++++++++++++
packages/coding-agent/src/core/session-manager.ts | 5 +-
packages/coding-agent/src/main.ts | 64 +++++++++++++--
.../src/modes/interactive/interactive-mode.ts | 40 ++++++++++
packages/coding-agent/test/session-cwd.test.ts | 91 ++++++++++++++++++++++
6 files changed, 259 insertions(+), 12 deletions(-)
---PATCH 080af6fc---
---PATCH a7acef92---
commit a7acef92a78c1ac57b97562ed0843fbfcae25e24
Author: Mario Zechner <[REDACTED]>
Date: Sat Apr 4 21:28:38 2026 +0200
fix(coding-agent): resource collision precedence, user/project skills override package skills
Sort resolved resources by precedence rank (project settings > project auto >
user settings > user auto > package) so first-wins collision logic produces
correct results. Also reorder CLI paths to prepend instead of append.
fixes #2781
diff --git a/packages/coding-agent/src/core/package-manager.ts b/packages/coding-agent/src/core/package-manager.ts
index 5890ec6c..39c2751d 100644
--- a/packages/coding-agent/src/core/package-manager.ts
+++ b/packages/coding-agent/src/core/package-manager.ts
@@ -81,80 +81,98 @@ export interface PackageManager {
setProgressCallback(callback: ProgressCallback | undefined): void;
getInstalledPath(source: string, scope: "user" | "project"): string | undefined;
}
interface PackageManagerOptions {
cwd: string;
agentDir: string;
settingsManager: SettingsManager;
}
type SourceScope = "user" | "project" | "temporary";
type NpmSource = {
type: "npm";
spec: string;
name: string;
pinned: boolean;
};
type LocalSource = {
type: "local";
path: string;
};
type ParsedSource = NpmSource | GitSource | LocalSource;
interface PiManifest {
extensions?: string[];
skills?: string[];
prompts?: string[];
themes?: string[];
}
interface ResourceAccumulator {
extensions: Map<string, { metadata: PathMetadata; enabled: boolean }>;
skills: Map<string, { metadata: PathMetadata; enabled: boolean }>;
prompts: Map<string, { metadata: PathMetadata; enabled: boolean }>;
themes: Map<string, { metadata: PathMetadata; enabled: boolean }>;
}
+/**
+ * Compute a numeric precedence rank for a resource based on its metadata.
+ * Lower rank = higher precedence. Used to sort resolved resources so that
+ * name-collision resolution ("first wins") produces the correct outcome.
+ *
+ * Precedence (highest to lowest):
+ * 0 project + settings entry (source: "local", scope: "project")
+ * 1 project + auto-discovered (source: "auto", scope: "project")
+ * 2 user + settings entry (source: "local", scope: "user")
+ * 3 user + auto-discovered (source: "auto", scope: "user")
+ * 4 package resource (origin: "package")
+ */
+function resourcePrecedenceRank(m: PathMetadata): number {
+ if (m.origin === "package") return 4;
+ const scopeBase = m.scope === "project" ? 0 : 2;
+ return scopeBase + (m.source === "local" ? 0 : 1);
+}
+
interface PackageFilter {
extensions?: string[];
skills?: string[];
prompts?: string[];
themes?: string[];
}
type ResourceType = "extensions" | "skills" | "prompts" | "themes";
const RESOURCE_TYPES: ResourceType[] = ["extensions", "skills", "prompts", "themes"];
const FILE_PATTERNS: Record<ResourceType, RegExp> = {
extensions: /\.(ts|js)$/,
skills: /\.md$/,
prompts: /\.md$/,
themes: /\.json$/,
};
const IGNORE_FILE_NAMES = [".gitignore", ".ignore", ".fdignore"];
type IgnoreMatcher = ReturnType<typeof ignore>;
function toPosixPath(p: string): string {
return p.split(sep).join("/");
}
function getHomeDir(): string {
return process.env.HOME || homedir();
}
function prefixIgnorePattern(line: string, prefix: string): string | null {
const trimmed = line.trim();
if (!trimmed) return null;
if (trimmed.startsWith("#") && !trimmed.startsWith("\\#")) return null;
let pattern = line;
let negated = false;
if (pattern.startsWith("!")) {
negated = true;
@@ -2109,85 +2127,87 @@ export class DefaultPackageManager implements PackageManager {
accumulator: ResourceAccumulator,
resourceType: ResourceType,
): Map<string, { metadata: PathMetadata; enabled: boolean }> {
switch (resourceType) {
case "extensions":
return accumulator.extensions;
case "skills":
return accumulator.skills;
case "prompts":
return accumulator.prompts;
case "themes":
return accumulator.themes;
default:
throw new Error(`Unknown resource type: ${resourceType}`);
}
}
private addResource(
map: Map<string, { metadata: PathMetadata; enabled: boolean }>,
path: string,
metadata: PathMetadata,
enabled: boolean,
): void {
if (!path) return;
if (!map.has(path)) {
map.set(path, { metadata, enabled });
}
}
private createAccumulator(): ResourceAccumulator {
return {
extensions: new Map(),
skills: new Map(),
prompts: new Map(),
themes: new Map(),
};
}
private toResolvedPaths(accumulator: ResourceAccumulator): ResolvedPaths {
const toResolved = (entries: Map<string, { metadata: PathMetadata; enabled: boolean }>): ResolvedResource[] => {
- return Array.from(entries.entries()).map(([path, { metadata, enabled }]) => ({
+ const resolved = Array.from(entries.entries()).map(([path, { metadata, enabled }]) => ({
path,
enabled,
metadata,
}));
+ resolved.sort((a, b) => resourcePrecedenceRank(a.metadata) - resourcePrecedenceRank(b.metadata));
+ return resolved;
};
return {
extensions: toResolved(accumulator.extensions),
skills: toResolved(accumulator.skills),
prompts: toResolved(accumulator.prompts),
themes: toResolved(accumulator.themes),
};
}
private runCommandCapture(
command: string,
args: string[],
options?: { cwd?: string; timeoutMs?: number; env?: Record<string, string> },
): Promise<string> {
return new Promise((resolvePromise, reject) => {
const child = spawn(command, args, {
cwd: options?.cwd,
stdio: ["ignore", "pipe", "pipe"],
shell: process.platform === "win32",
env: options?.env ? { ...process.env, ...options.env } : process.env,
});
let stdout = "";
let stderr = "";
let timedOut = false;
const timeout =
typeof options?.timeoutMs === "number"
? setTimeout(() => {
timedOut = true;
child.kill();
}, options.timeoutMs)
: undefined;
child.stdout?.on("data", (data) => {
stdout += data.toString();
});
child.stderr?.on("data", (data) => {
stderr += data.toString();
});
child.on("error", (error) => {
diff --git a/packages/coding-agent/src/core/resource-loader.ts b/packages/coding-agent/src/core/resource-loader.ts
index 095cf870..9450c9ed 100644
--- a/packages/coding-agent/src/core/resource-loader.ts
+++ b/packages/coding-agent/src/core/resource-loader.ts
@@ -376,105 +376,105 @@ export class DefaultResourceLoader implements ResourceLoader {
metadataByPath.set(r.path, { source: "cli", scope: "temporary", origin: "top-level" });
}
}
for (const r of cliExtensionPaths.skills) {
if (!metadataByPath.has(r.path)) {
metadataByPath.set(r.path, { source: "cli", scope: "temporary", origin: "top-level" });
}
}
const cliEnabledExtensions = getEnabledPaths(cliExtensionPaths.extensions);
const cliEnabledSkills = getEnabledPaths(cliExtensionPaths.skills);
const cliEnabledPrompts = getEnabledPaths(cliExtensionPaths.prompts);
const cliEnabledThemes = getEnabledPaths(cliExtensionPaths.themes);
const extensionPaths = this.noExtensions
? cliEnabledExtensions
: this.mergePaths(cliEnabledExtensions, enabledExtensions);
const extensionsResult = await loadExtensions(extensionPaths, this.cwd, this.eventBus);
const inlineExtensions = await this.loadExtensionFactories(extensionsResult.runtime);
extensionsResult.extensions.push(...inlineExtensions.extensions);
extensionsResult.errors.push(...inlineExtensions.errors);
// Detect extension conflicts (tools, commands, flags with same names from different extensions)
// Keep all extensions loaded. Conflicts are reported as diagnostics, and precedence is handled by load order.
const conflicts = this.detectExtensionConflicts(extensionsResult.extensions);
for (const conflict of conflicts) {
extensionsResult.errors.push({ path: conflict.path, error: conflict.message });
}
for (const p of this.additionalExtensionPaths) {
if (!existsSync(p)) {
extensionsResult.errors.push({ path: p, error: `Extension path does not exist: ${p}` });
}
}
this.extensionsResult = this.extensionsOverride ? this.extensionsOverride(extensionsResult) : extensionsResult;
this.applyExtensionSourceInfo(this.extensionsResult.extensions, metadataByPath);
const skillPaths = this.noSkills
? this.mergePaths(cliEnabledSkills, this.additionalSkillPaths)
- : this.mergePaths([...enabledSkills, ...cliEnabledSkills], this.additionalSkillPaths);
+ : this.mergePaths([...cliEnabledSkills, ...enabledSkills], this.additionalSkillPaths);
this.lastSkillPaths = skillPaths;
this.updateSkillsFromPaths(skillPaths, metadataByPath);
for (const p of this.additionalSkillPaths) {
if (!existsSync(p) && !this.skillDiagnostics.some((d) => d.path === p)) {
this.skillDiagnostics.push({ type: "error", message: "Skill path does not exist", path: p });
}
}
const promptPaths = this.noPromptTemplates
? this.mergePaths(cliEnabledPrompts, this.additionalPromptTemplatePaths)
- : this.mergePaths([...enabledPrompts, ...cliEnabledPrompts], this.additionalPromptTemplatePaths);
+ : this.mergePaths([...cliEnabledPrompts, ...enabledPrompts], this.additionalPromptTemplatePaths);
this.lastPromptPaths = promptPaths;
this.updatePromptsFromPaths(promptPaths, metadataByPath);
for (const p of this.additionalPromptTemplatePaths) {
if (!existsSync(p) && !this.promptDiagnostics.some((d) => d.path === p)) {
this.promptDiagnostics.push({ type: "error", message: "Prompt template path does not exist", path: p });
}
}
const themePaths = this.noThemes
? this.mergePaths(cliEnabledThemes, this.additionalThemePaths)
- : this.mergePaths([...enabledThemes, ...cliEnabledThemes], this.additionalThemePaths);
+ : this.mergePaths([...cliEnabledThemes, ...enabledThemes], this.additionalThemePaths);
this.lastThemePaths = themePaths;
this.updateThemesFromPaths(themePaths, metadataByPath);
for (const p of this.additionalThemePaths) {
if (!existsSync(p) && !this.themeDiagnostics.some((d) => d.path === p)) {
this.themeDiagnostics.push({ type: "error", message: "Theme path does not exist", path: p });
}
}
const agentsFiles = { agentsFiles: loadProjectContextFiles({ cwd: this.cwd, agentDir: this.agentDir }) };
const resolvedAgentsFiles = this.agentsFilesOverride ? this.agentsFilesOverride(agentsFiles) : agentsFiles;
this.agentsFiles = resolvedAgentsFiles.agentsFiles;
const baseSystemPrompt = resolvePromptInput(
this.systemPromptSource ?? this.discoverSystemPromptFile(),
"system prompt",
);
this.systemPrompt = this.systemPromptOverride ? this.systemPromptOverride(baseSystemPrompt) : baseSystemPrompt;
const appendSource = this.appendSystemPromptSource ?? this.discoverAppendSystemPromptFile();
const resolvedAppend = resolvePromptInput(appendSource, "append system prompt");
const baseAppend = resolvedAppend ? [resolvedAppend] : [];
this.appendSystemPrompt = this.appendSystemPromptOverride
? this.appendSystemPromptOverride(baseAppend)
: baseAppend;
}
private normalizeExtensionPaths(
entries: Array<{ path: string; metadata: PathMetadata }>,
): Array<{ path: string; metadata: PathMetadata }> {
return entries.map((entry) => ({
path: this.resolveResourcePath(entry.path),
metadata: entry.metadata,
}));
}
private updateSkillsFromPaths(skillPaths: string[], metadataByPath?: Map<string, PathMetadata>): void {
let skillsResult: { skills: Skill[]; diagnostics: ResourceDiagnostic[] };
if (this.noSkills && skillPaths.length === 0) {
skillsResult = { skills: [], diagnostics: [] };Inspecting patch issue
I realized that the patch for 080 isn't showing due to a command mistake on my part. I think I should take a closer look at the tests and maybe summarize the results. It might be helpful to check specific files, as I suspect the command ordering could be wrong. I definitely need to handle this properly to ensure everything goes smoothly! Let's figure out the best approach together.
>echo '---080 session-cwd.ts---' && git show 080af6fc:packages/coding-agent/src/core/session-cwd.ts && printf '\n---080 main diff---\n' && git diff 080af6fc^ 080af6fc -- packages/coding-agent/src/main.ts packages/coding-agent/src/core/session-manager.ts packages/coding-agent/src/core/agent-session-runtime.ts packages/coding-agent/src/modes/interactive/interactive-mode.ts---080 session-cwd.ts---
import { existsSync } from "node:fs";
export interface SessionCwdIssue {
sessionFile?: string;
sessionCwd: string;
fallbackCwd: string;
}
interface SessionCwdSource {
getCwd(): string;
getSessionFile(): string | undefined;
}
export function getMissingSessionCwdIssue(
sessionManager: SessionCwdSource,
fallbackCwd: string,
): SessionCwdIssue | undefined {
const sessionFile = sessionManager.getSessionFile();
if (!sessionFile) {
return undefined;
}
const sessionCwd = sessionManager.getCwd();
if (!sessionCwd || existsSync(sessionCwd)) {
return undefined;
}
return {
sessionFile,
sessionCwd,
fallbackCwd,
};
}
export function formatMissingSessionCwdError(issue: SessionCwdIssue): string {
const sessionFile = issue.sessionFile ? `\nSession file: ${issue.sessionFile}` : "";
return `Stored session working directory does not exist: ${issue.sessionCwd}${sessionFile}\nCurrent working directory: ${issue.fallbackCwd}`;
}
export function formatMissingSessionCwdPrompt(issue: SessionCwdIssue): string {
return `cwd from session file does not exist\n${issue.sessionCwd}\n\ncontinue in current cwd\n${issue.fallbackCwd}`;
}
export class MissingSessionCwdError extends Error {
readonly issue: SessionCwdIssue;
constructor(issue: SessionCwdIssue) {
super(formatMissingSessionCwdError(issue));
this.name = "MissingSessionCwdError";
this.issue = issue;
}
}
export function assertSessionCwdExists(sessionManager: SessionCwdSource, fallbackCwd: string): void {
const issue = getMissingSessionCwdIssue(sessionManager, fallbackCwd);
if (issue) {
throw new MissingSessionCwdError(issue);
}
}
---080 main diff---
diff --git a/packages/coding-agent/src/core/agent-session-runtime.ts b/packages/coding-agent/src/core/agent-session-runtime.ts
index 7e064ea8..58e1fd57 100644
--- a/packages/coding-agent/src/core/agent-session-runtime.ts
+++ b/packages/coding-agent/src/core/agent-session-runtime.ts
@@ -5,6 +5,7 @@ import type { AgentSessionRuntimeDiagnostic, AgentSessionServices } from "./agen
import type { SessionStartEvent } from "./extensions/index.js";
import { emitSessionShutdownEvent } from "./extensions/runner.js";
import type { CreateAgentSessionResult } from "./sdk.js";
+import { assertSessionCwdExists } from "./session-cwd.js";
import { SessionManager } from "./session-manager.js";
/**
@@ -124,14 +125,15 @@ export class AgentSessionRuntime {
this._modelFallbackMessage = result.modelFallbackMessage;
}
- async switchSession(sessionPath: string): Promise<{ cancelled: boolean }> {
+ async switchSession(sessionPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {
const beforeResult = await this.emitBeforeSwitch("resume", sessionPath);
if (beforeResult.cancelled) {
return beforeResult;
}
const previousSessionFile = this.session.sessionFile;
- const sessionManager = SessionManager.open(sessionPath);
+ const sessionManager = SessionManager.open(sessionPath, undefined, cwdOverride);
+ assertSessionCwdExists(sessionManager, this.cwd);
await this.teardownCurrent();
this.apply(
await this.createRuntime({
@@ -246,7 +248,7 @@ export class AgentSessionRuntime {
return { cancelled: false, selectedText };
}
- async importFromJsonl(inputPath: string): Promise<{ cancelled: boolean }> {
+ async importFromJsonl(inputPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {
const resolvedPath = resolve(inputPath);
if (!existsSync(resolvedPath)) {
throw new Error(`File not found: ${resolvedPath}`);
@@ -268,7 +270,8 @@ export class AgentSessionRuntime {
copyFileSync(resolvedPath, destinationPath);
}
- const sessionManager = SessionManager.open(destinationPath, sessionDir);
+ const sessionManager = SessionManager.open(destinationPath, sessionDir, cwdOverride);
+ assertSessionCwdExists(sessionManager, this.cwd);
await this.teardownCurrent();
this.apply(
await this.createRuntime({
@@ -302,6 +305,7 @@ export async function createAgentSessionRuntime(
sessionStartEvent?: SessionStartEvent;
},
): Promise<AgentSessionRuntime> {
+ assertSessionCwdExists(options.sessionManager, options.cwd);
const result = await createRuntime(options);
if (process.cwd() !== result.services.cwd) {
process.chdir(result.services.cwd);
diff --git a/packages/coding-agent/src/core/session-manager.ts b/packages/coding-agent/src/core/session-manager.ts
index 87890003..926f7809 100644
--- a/packages/coding-agent/src/core/session-manager.ts
+++ b/packages/coding-agent/src/core/session-manager.ts
@@ -1270,12 +1270,13 @@ export class SessionManager {
* Open a specific session file.
* @param path Path to session file
* @param sessionDir Optional session directory for /new or /branch. If omitted, derives from file's parent.
+ * @param cwdOverride Optional cwd override instead of the session header cwd.
*/
- static open(path: string, sessionDir?: string): SessionManager {
+ static open(path: string, sessionDir?: string, cwdOverride?: string): SessionManager {
// Extract cwd from session header if possible, otherwise use process.cwd()
const entries = loadEntriesFromFile(path);
const header = entries.find((e) => e.type === "session") as SessionHeader | undefined;
- const cwd = header?.cwd ?? process.cwd();
+ const cwd = cwdOverride ?? header?.cwd ?? process.cwd();
// If no sessionDir provided, derive from file's parent directory
const dir = sessionDir ?? resolve(path, "..");
return new SessionManager(cwd, dir, path, true);
diff --git a/packages/coding-agent/src/main.ts b/packages/coding-agent/src/main.ts
index a066ff24..ec0e5788 100644
--- a/packages/coding-agent/src/main.ts
+++ b/packages/coding-agent/src/main.ts
@@ -7,6 +7,7 @@
import { resolve } from "node:path";
import { type ImageContent, modelsAreEqual, supportsXhigh } from "@mariozechner/pi-ai";
+import { ProcessTerminal, setKeybindings, TUI } from "@mariozechner/pi-tui";
import chalk from "chalk";
import { createInterface } from "readline";
import { type Args, type Mode, parseArgs, printHelp } from "./cli/args.js";
@@ -23,16 +24,24 @@ import {
} from "./core/agent-session-services.js";
import { AuthStorage } from "./core/auth-storage.js";
import { exportFromFile } from "./core/export-html/index.js";
+import { KeybindingsManager } from "./core/keybindings.js";
import type { ModelRegistry } from "./core/model-registry.js";
import { resolveCliModel, resolveModelScope, type ScopedModel } from "./core/model-resolver.js";
import { restoreStdout, takeOverStdout } from "./core/output-guard.js";
import type { CreateAgentSessionOptions } from "./core/sdk.js";
+import {
+ formatMissingSessionCwdPrompt,
+ getMissingSessionCwdIssue,
+ MissingSessionCwdError,
+ type SessionCwdIssue,
+} from "./core/session-cwd.js";
import { SessionManager } from "./core/session-manager.js";
import { SettingsManager } from "./core/settings-manager.js";
import { printTimings, resetTimings, time } from "./core/timings.js";
import { allTools } from "./core/tools/index.js";
import { runMigrations, showDeprecationWarnings } from "./migrations.js";
import { InteractiveMode, runPrintMode, runRpcMode } from "./modes/index.js";
+import { ExtensionSelectorComponent } from "./modes/interactive/components/extension-selector.js";
import { initTheme, stopThemeWatcher } from "./modes/interactive/theme/theme.js";
import { handleConfigCommand, handlePackageCommand } from "./package-manager-cli.js";
import { isLocalPath } from "./utils/paths.js";
@@ -375,6 +384,40 @@ function resolveCliPaths(cwd: string, paths: string[] | undefined): string[] | u
return paths?.map((value) => (isLocalPath(value) ? resolve(cwd, value) : value));
}
+async function promptForMissingSessionCwd(
+ issue: SessionCwdIssue,
+ settingsManager: SettingsManager,
+): Promise<string | undefined> {
+ initTheme(settingsManager.getTheme());
+ setKeybindings(KeybindingsManager.create());
+
+ return new Promise((resolve) => {
+ const ui = new TUI(new ProcessTerminal(), settingsManager.getShowHardwareCursor());
+ ui.setClearOnShrink(settingsManager.getClearOnShrink());
+
+ let settled = false;
+ const finish = (result: string | undefined) => {
+ if (settled) {
+ return;
+ }
+ settled = true;
+ ui.stop();
+ resolve(result);
+ };
+
+ const selector = new ExtensionSelectorComponent(
+ formatMissingSessionCwdPrompt(issue),
+ ["Continue", "Cancel"],
+ (option) => finish(option === "Continue" ? issue.fallbackCwd : undefined),
+ () => finish(undefined),
+ { tui: ui },
+ );
+ ui.addChild(selector);
+ ui.setFocus(selector);
+ ui.start();
+ });
+}
+
export async function main(args: string[]) {
resetTimings();
const offlineMode = args.includes("--offline") || isTruthyEnvFlag(process.env.PI_OFFLINE);
@@ -448,12 +491,21 @@ export async function main(args: string[]) {
// settings, resources, provider registrations, and models must be resolved only after
// the target session cwd is known. The startup-cwd settings manager is used only for
// sessionDir lookup during session selection.
- const sessionManager = await createSessionManager(
- parsed,
- cwd,
- parsed.sessionDir ?? startupSettingsManager.getSessionDir(),
- startupSettingsManager,
- );
+ const sessionDir = parsed.sessionDir ?? startupSettingsManager.getSessionDir();
+ let sessionManager = await createSessionManager(parsed, cwd, sessionDir, startupSettingsManager);
+ const missingSessionCwdIssue = getMissingSessionCwdIssue(sessionManager, cwd);
+ if (missingSessionCwdIssue) {
+ if (appMode === "interactive") {
+ const selectedCwd = await promptForMissingSessionCwd(missingSessionCwdIssue, startupSettingsManager);
+ if (!selectedCwd) {
+ process.exit(0);
+ }
+ sessionManager = SessionManager.open(missingSessionCwdIssue.sessionFile!, sessionDir, selectedCwd);
+ } else {
+ console.error(chalk.red(new MissingSessionCwdError(missingSessionCwdIssue).message));
+ process.exit(1);
+ }
+ }
time("createSessionManager");
const resolvedExtensionPaths = resolveCliPaths(cwd, parsed.extensions);
diff --git a/packages/coding-agent/src/modes/interactive/interactive-mode.ts b/packages/coding-agent/src/modes/interactive/interactive-mode.ts
index 2701429e..10dde29a 100644
--- a/packages/coding-agent/src/modes/interactive/interactive-mode.ts
+++ b/packages/coding-agent/src/modes/interactive/interactive-mode.ts
@@ -61,6 +61,7 @@ import { createCompactionSummaryMessage } from "../../core/messages.js";
import { findExactModelReferenceMatch, resolveModelScope } from "../../core/model-resolver.js";
import { DefaultPackageManager } from "../../core/package-manager.js";
import type { ResourceDiagnostic } from "../../core/resource-loader.js";
+import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../core/session-cwd.js";
import { type SessionContext, SessionManager } from "../../core/session-manager.js";
import { BUILTIN_SLASH_COMMANDS } from "../../core/slash-commands.js";
import type { SourceInfo } from "../../core/source-info.js";
@@ -1719,6 +1720,14 @@ export class InteractiveMode {
return result === "Yes";
}
+ private async promptForMissingSessionCwd(error: MissingSessionCwdError): Promise<string | undefined> {
+ const confirmed = await this.showExtensionConfirm(
+ "Session cwd not found",
+ formatMissingSessionCwdPrompt(error.issue),
+ );
+ return confirmed ? error.issue.fallbackCwd : undefined;
+ }
+
/**
* Show a text input for extensions.
*/
@@ -3843,6 +3852,21 @@ export class InteractiveMode {
this.renderCurrentSessionState();
this.showStatus("Resumed session");
} catch (error: unknown) {
+ if (error instanceof MissingSessionCwdError) {
+ const selectedCwd = await this.promptForMissingSessionCwd(error);
+ if (!selectedCwd) {
+ this.showStatus("Resume cancelled");
+ return;
+ }
+ const result = await this.runtimeHost.switchSession(sessionPath, selectedCwd);
+ if (result.cancelled) {
+ return;
+ }
+ await this.handleRuntimeSessionChange();
+ this.renderCurrentSessionState();
+ this.showStatus("Resumed session in current cwd");
+ return;
+ }
await this.handleFatalRuntimeError("Failed to resume session", error);
}
}
@@ -4109,6 +4133,22 @@ export class InteractiveMode {
this.renderCurrentSessionState();
this.showStatus(`Session imported from: ${inputPath}`);
} catch (error: unknown) {
+ if (error instanceof MissingSessionCwdError) {
+ const selectedCwd = await this.promptForMissingSessionCwd(error);
+ if (!selectedCwd) {
+ this.showStatus("Import cancelled");
+ return;
+ }
+ const result = await this.runtimeHost.importFromJsonl(inputPath, selectedCwd);
+ if (result.cancelled) {
+ this.showStatus("Import cancelled");
+ return;
+ }
+ await this.handleRuntimeSessionChange();
+ this.renderCurrentSessionState();
+ this.showStatus(`Session imported from: ${inputPath}`);
+ return;
+ }
await this.handleFatalRuntimeError("Failed to import session", error);
}
}Organizing features and reports
I'm focusing on some specifics: I've got the codes to manage, like 52d, 127, 71, etc., and I need to handle the missing elements, like 080 and a7. I should skip the docs-only for now since they're in the changelog. I need to create a report about that. I also need to insert a "New Features" section at the beginning of the "Unreleased" part in the coding agent and suggest the top features before I start writing them.
Considering Git Documentation
I should mention that a document-only entry seems extraneous. Maybe the user is asking to audit all commits rather than modify extras. Do I need to use git diff? Perhaps not, given that it's just documentation. I might gather the git log without the changelog instead. That could be enough for what I need. It might also be a good idea to verify this by checking the top of the file.
Evaluating new features section
It looks like all commits since the last release are just fixes and no new features, so I’m pondering whether to add a section for new features. The instructions say to include one after the changelog, but I think I could mention that there aren't any user-facing new features since v0.65.0. Maybe I could propose an empty placeholder for that section and confirm with the user if they’d like it. It might be good to clarify that nothing's been added yet.
Identifying missing commit entries
I need to address some commits that seem to have missing entries, like 080af6fc, a7acef92, and 6044cabb, which involve duplication. I should mention that the existing doc-only entry, 0c98d5a5, should be skipped since it’s already there. Other commits like 02c2, 1a6, fbd35, and 84d are also potential skips. It seems 6044 has already been covered in the AI context, so I’m trying to clarify what to do with these.
Yes.
Audit done for commits since v0.65.0.
Updated:
packages/coding-agent/CHANGELOG.mdAdded missing entries:
080af6fc fix(coding-agent): handle missing session cwda7acef92 fix(coding-agent): resource collision precedence...6044cabb fix(ai): preserve cache_write_tokens... into packages/coding-agent/CHANGELOG.mdReport:
Missing changelog entries
080af6fc fix(coding-agent): handle missing session cwda7acef92 fix(coding-agent): resource collision precedence, user/project skills override package skillsNeeded cross-package duplication
6044cabb fix(ai): preserve cache_write_tokens in completions stream usage closes #2802
packages/ai/CHANGELOG.mdpackages/coding-agent/CHANGELOG.mdAlready covered
52d16d5a bash output temp-file persistence127547f2 preserve JSON mode for piped stdin71e44369 git/npm extension path handling5e5eeb96 async fs.watch errors72a43dc0 RpcClient stderr forwardingSkipped correctly
1a6a58eb contributor list only02c2a3e5 example-only shell script fixfbd35a46 test rename84d13406 release housekeepingEntry that should probably be skipped
0c98d5a5 fix(coding-agent): remove stale /exit docs closes #2850
packages/coding-agent/CHANGELOG.md has an entry for it### New Features section proposal for packages/coding-agent/CHANGELOG.md
v0.65.0If you still want the section inserted now, I recommend one of these:
### New Features under ## [Unreleased]My recommendation is 2. If you want 1, I can add the empty section.
no need for features, wrap this up
Done.
Changed:
packages/coding-agent/CHANGELOG.mdSummary:
ai cache token accounting fix into coding-agent/exit changelog entry as-is### New FeaturesAnything else on this audit?
commit and push, then do a patch release
>git status --shortM packages/coding-agent/CHANGELOG.mdCommitting changes
I need to commit our file with a message like "docs(coding-agent): fill missing changelog entries." There doesn’t seem to be any issues, so I’m not closing anything. I should commit and push this. But wait, I need to confirm if I'm on the current branch, possibly the main branch? Let me check and make sure everything is in order before I proceed!
>git branch --show-current && git add packages/coding-agent/CHANGELOG.md && git commit -m "docs(coding-agent): audit unreleased changelog entries" && git pushmain
Running formatting, linting, and type checking...
> pi-monorepo@0.0.3 check
> biome check --write --error-on-warnings . && tsgo --noEmit && npm run check:browser-smoke && cd packages/web-ui && npm run check
Checked 565 files in 418ms. No fixes applied.
> pi-monorepo@0.0.3 check:browser-smoke
> node scripts/check-browser-smoke.mjs
> @mariozechner/pi-web-ui@0.65.0 check
> biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit
Checked 73 files in 37ms. No fixes applied.
Checked 3 files in 7ms. No fixes applied.
✅ All pre-commit checks passed!
[main c1803ded] docs(coding-agent): audit unreleased changelog entries
1 file changed, 3 insertions(+)
To https://github.com/badlogic/pi-mono.git
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'https://github.com/badlogic/pi-mono.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. If you want to integrate the remote changes,
hint: use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Command exited with code 1>git pull --rebase && git pushRebasing (1/1)
Successfully rebased and updated refs/heads/main.
To https://github.com/badlogic/pi-mono.git
a9bd8045..db31c16b main -> mainRunning release script
I’m looking at the patch release and it seems like I need to run the release script. I expect it might take a little while to complete, so I want to keep that in mind. It’s important to ensure everything goes smoothly during this process. I’m reminding myself to be patient and double-check everything afterward to confirm that the release was successful. I’ll dive into that now!
>npm run release:patchnpm notice 407B dist/modes/interactive/components/show-images-selector.d.ts
npm notice 2.0kB dist/modes/interactive/components/show-images-selector.d.ts.map
npm notice 1.4kB dist/modes/interactive/components/show-images-selector.js
npm notice 2.9kB dist/modes/interactive/components/show-images-selector.js.map
npm notice 746B dist/modes/interactive/components/skill-invocation-message.d.ts
npm notice 2.7kB dist/modes/interactive/components/skill-invocation-message.d.ts.map
npm notice 1.9kB dist/modes/interactive/components/skill-invocation-message.js
npm notice 3.9kB dist/modes/interactive/components/skill-invocation-message.js.map
npm notice 443B dist/modes/interactive/components/theme-selector.d.ts
npm notice 2.4kB dist/modes/interactive/components/theme-selector.d.ts.map
npm notice 1.7kB dist/modes/interactive/components/theme-selector.js
npm notice 3.6kB dist/modes/interactive/components/theme-selector.js.map
npm notice 518B dist/modes/interactive/components/thinking-selector.d.ts
npm notice 2.6kB dist/modes/interactive/components/thinking-selector.d.ts.map
npm notice 1.8kB dist/modes/interactive/components/thinking-selector.js
npm notice 3.8kB dist/modes/interactive/components/thinking-selector.js.map
npm notice 1.9kB dist/modes/interactive/components/tool-execution.d.ts
npm notice 12.7kB dist/modes/interactive/components/tool-execution.d.ts.map
npm notice 10.2kB dist/modes/interactive/components/tool-execution.js
npm notice 20.6kB dist/modes/interactive/components/tool-execution.js.map
npm notice 3.7kB dist/modes/interactive/components/tree-selector.d.ts
npm notice 50.3kB dist/modes/interactive/components/tree-selector.d.ts.map
npm notice 47.7kB dist/modes/interactive/components/tree-selector.js
npm notice 90.4kB dist/modes/interactive/components/tree-selector.js.map
npm notice 934B dist/modes/interactive/components/user-message-selector.d.ts
npm notice 6.0kB dist/modes/interactive/components/user-message-selector.d.ts.map
npm notice 4.8kB dist/modes/interactive/components/user-message-selector.js
npm notice 9.7kB dist/modes/interactive/components/user-message-selector.js.map
npm notice 324B dist/modes/interactive/components/user-message.d.ts
npm notice 1.5kB dist/modes/interactive/components/user-message.d.ts.map
npm notice 1.0kB dist/modes/interactive/components/user-message.js
npm notice 2.3kB dist/modes/interactive/components/user-message.js.map
npm notice 1.2kB dist/modes/interactive/components/visual-truncate.d.ts
npm notice 2.2kB dist/modes/interactive/components/visual-truncate.d.ts.map
npm notice 1.6kB dist/modes/interactive/components/visual-truncate.js
npm notice 2.7kB dist/modes/interactive/components/visual-truncate.js.map
npm notice 10.4kB dist/modes/interactive/interactive-mode.d.ts
npm notice 181.9kB dist/modes/interactive/interactive-mode.d.ts.map
npm notice 180.5kB dist/modes/interactive/interactive-mode.js
npm notice 328.4kB dist/modes/interactive/interactive-mode.js.map
npm notice 2.0kB dist/modes/interactive/theme/dark.json
npm notice 2.0kB dist/modes/interactive/theme/light.json
npm notice 8.7kB dist/modes/interactive/theme/theme-schema.json
npm notice 4.2kB dist/modes/interactive/theme/theme.d.ts
npm notice 40.4kB dist/modes/interactive/theme/theme.d.ts.map
npm notice 33.6kB dist/modes/interactive/theme/theme.js
npm notice 69.2kB dist/modes/interactive/theme/theme.js.map
npm notice 1.0kB dist/modes/print-mode.d.ts
npm notice 5.0kB dist/modes/print-mode.d.ts.map
npm notice 4.3kB dist/modes/print-mode.js
npm notice 8.0kB dist/modes/print-mode.js.map
npm notice 710B dist/modes/rpc/jsonl.d.ts
npm notice 2.0kB dist/modes/rpc/jsonl.d.ts.map
npm notice 1.6kB dist/modes/rpc/jsonl.js
npm notice 3.2kB dist/modes/rpc/jsonl.js.map
npm notice 6.3kB dist/modes/rpc/rpc-client.d.ts
npm notice 19.8kB dist/modes/rpc/rpc-client.d.ts.map
npm notice 13.2kB dist/modes/rpc/rpc-client.js
npm notice 26.9kB dist/modes/rpc/rpc-client.js.map
npm notice 1.0kB dist/modes/rpc/rpc-mode.d.ts
npm notice 23.3kB dist/modes/rpc/rpc-mode.d.ts.map
npm notice 23.3kB dist/modes/rpc/rpc-mode.js
npm notice 40.2kB dist/modes/rpc/rpc-mode.js.map
npm notice 8.6kB dist/modes/rpc/rpc-types.d.ts
npm notice 19.8kB dist/modes/rpc/rpc-types.d.ts.map
npm notice 211B dist/modes/rpc/rpc-types.js
npm notice 10.2kB dist/modes/rpc/rpc-types.js.map
npm notice 279B dist/package-manager-cli.d.ts
npm notice 8.5kB dist/package-manager-cli.d.ts.map
npm notice 8.2kB dist/package-manager-cli.js
npm notice 15.7kB dist/package-manager-cli.js.map
npm notice 722B dist/utils/changelog.d.ts
npm notice 3.5kB dist/utils/changelog.d.ts.map
npm notice 3.0kB dist/utils/changelog.js
npm notice 5.6kB dist/utils/changelog.js.map
npm notice 585B dist/utils/child-process.d.ts
npm notice 2.8kB dist/utils/child-process.d.ts.map
npm notice 2.7kB dist/utils/child-process.js
npm notice 4.9kB dist/utils/child-process.js.map
npm notice 436B dist/utils/clipboard-image.d.ts
npm notice 9.2kB dist/utils/clipboard-image.d.ts.map
npm notice 8.3kB dist/utils/clipboard-image.js
npm notice 17.0kB dist/utils/clipboard-image.js.map
npm notice 275B dist/utils/clipboard-native.d.ts
npm notice 1.0kB dist/utils/clipboard-native.d.ts.map
npm notice 455B dist/utils/clipboard-native.js
npm notice 1.3kB dist/utils/clipboard-native.js.map
npm notice 109B dist/utils/clipboard.d.ts
npm notice 2.9kB dist/utils/clipboard.d.ts.map
npm notice 2.8kB dist/utils/clipboard.js
npm notice 5.0kB dist/utils/clipboard.js.map
npm notice 298B dist/utils/exif-orientation.d.ts
npm notice 6.0kB dist/utils/exif-orientation.d.ts.map
npm notice 5.6kB dist/utils/exif-orientation.js
npm notice 12.8kB dist/utils/exif-orientation.js.map
npm notice 366B dist/utils/frontmatter.d.ts
npm notice 1.6kB dist/utils/frontmatter.d.ts.map
npm notice 968B dist/utils/frontmatter.js
npm notice 2.6kB dist/utils/frontmatter.js.map
npm notice 793B dist/utils/git.d.ts
npm notice 6.5kB dist/utils/git.d.ts.map
npm notice 5.8kB dist/utils/git.js
npm notice 12.2kB dist/utils/git.js.map
npm notice 297B dist/utils/image-convert.d.ts
npm notice 1.5kB dist/utils/image-convert.d.ts.map
npm notice 1.2kB dist/utils/image-convert.js
npm notice 2.3kB dist/utils/image-convert.js.map
npm notice 1.3kB dist/utils/image-resize.d.ts
npm notice 6.6kB dist/utils/image-resize.d.ts.map
npm notice 5.4kB dist/utils/image-resize.js
npm notice 10.2kB dist/utils/image-resize.js.map
npm notice 138B dist/utils/mime.d.ts
npm notice 1.1kB dist/utils/mime.d.ts.map
npm notice 915B dist/utils/mime.js
npm notice 1.9kB dist/utils/mime.js.map
npm notice 271B dist/utils/paths.d.ts
npm notice 782B dist/utils/paths.d.ts.map
npm notice 592B dist/utils/paths.js
npm notice 1.1kB dist/utils/paths.js.map
npm notice 879B dist/utils/photon.d.ts
npm notice 4.3kB dist/utils/photon.d.ts.map
npm notice 3.7kB dist/utils/photon.js
npm notice 7.0kB dist/utils/photon.js.map
npm notice 941B dist/utils/shell.d.ts
npm notice 7.1kB dist/utils/shell.d.ts.map
npm notice 6.9kB dist/utils/shell.js
npm notice 12.0kB dist/utils/shell.js.map
npm notice 167B dist/utils/sleep.d.ts
npm notice 688B dist/utils/sleep.d.ts.map
npm notice 468B dist/utils/sleep.js
npm notice 1.1kB dist/utils/sleep.js.map
npm notice 216B dist/utils/tools-manager.d.ts
npm notice 10.3kB dist/utils/tools-manager.d.ts.map
npm notice 9.7kB dist/utils/tools-manager.js
npm notice 19.1kB dist/utils/tools-manager.js.map
npm notice 17.0kB docs/compaction.md
npm notice 18.8kB docs/custom-provider.md
npm notice 1.4kB docs/development.md
npm notice 80.1kB docs/extensions.md
npm notice 172.0kB docs/images/doom-extension.png
npm notice 1.5MB docs/images/exy.png
npm notice 329.1kB docs/images/interactive-mode.png
npm notice 282.0kB docs/images/tree-view.png
npm notice 3.3kB docs/json.md
npm notice 7.4kB docs/keybindings.md
npm notice 10.7kB docs/models.md
npm notice 7.5kB docs/packages.md
npm notice 1.9kB docs/prompt-templates.md
npm notice 6.5kB docs/providers.md
npm notice 34.6kB docs/rpc.md
npm notice 32.7kB docs/sdk.md
npm notice 14.3kB docs/session.md
npm notice 8.1kB docs/settings.md
npm notice 356B docs/shell-aliases.md
npm notice 6.5kB docs/skills.md
npm notice 3.5kB docs/terminal-setup.md
npm notice 3.2kB docs/termux.md
npm notice 7.9kB docs/themes.md
npm notice 1.8kB docs/tmux.md
npm notice 7.7kB docs/tree.md
npm notice 27.9kB docs/tui.md
npm notice 394B docs/windows.md
npm notice 12.8kB examples/extensions/antigravity-image-gen.ts
npm notice 1.6kB examples/extensions/auto-commit-on-exit.ts
npm notice 692B examples/extensions/bash-spawn-hook.ts
npm notice 1.6kB examples/extensions/bookmark.ts
npm notice 8.1kB examples/extensions/built-in-tool-renderer.ts
npm notice 2.5kB examples/extensions/claude-rules.ts
npm notice 2.6kB examples/extensions/commands.ts
npm notice 1.7kB examples/extensions/confirm-destructive.ts
npm notice 4.3kB examples/extensions/custom-compaction.ts
npm notice 2.1kB examples/extensions/custom-footer.ts
npm notice 2.4kB examples/extensions/custom-header.ts
npm notice 19.2kB examples/extensions/custom-provider-anthropic/index.ts
npm notice 653B examples/extensions/custom-provider-anthropic/package-lock.json
npm notice 376B examples/extensions/custom-provider-anthropic/package.json
npm notice 10.7kB examples/extensions/custom-provider-gitlab-duo/index.ts
npm notice 317B examples/extensions/custom-provider-gitlab-duo/package.json
npm notice 2.7kB examples/extensions/custom-provider-gitlab-duo/test.ts
npm notice 10.1kB examples/extensions/custom-provider-qwen-cli/index.ts
npm notice 315B examples/extensions/custom-provider-qwen-cli/package.json
npm notice 1.5kB examples/extensions/dirty-repo-guard.ts
npm notice 3.6kB examples/extensions/doom-overlay/doom-component.ts
npm notice 4.9kB examples/extensions/doom-overlay/doom-engine.ts
npm notice 3.5kB examples/extensions/doom-overlay/doom-keys.ts
npm notice 3.4kB examples/extensions/doom-overlay/doom/build.sh
npm notice 64.6kB examples/extensions/doom-overlay/doom/build/doom.js
npm notice 380.2kB examples/extensions/doom-overlay/doom/build/doom.wasm
npm notice 1.7kB examples/extensions/doom-overlay/doom/doomgeneric_pi.c
npm notice 2.1kB examples/extensions/doom-overlay/index.ts
npm notice 1.3kB examples/extensions/doom-overlay/README.md
npm notice 1.6kB examples/extensions/doom-overlay/wad-finder.ts
npm notice 2.0kB examples/extensions/dynamic-resources/dynamic.json
npm notice 160B examples/extensions/dynamic-resources/dynamic.md
npm notice 455B examples/extensions/dynamic-resources/index.ts
npm notice 177B examples/extensions/dynamic-resources/SKILL.md
npm notice 2.2kB examples/extensions/dynamic-tools.ts
npm notice 1.3kB examples/extensions/event-bus.ts
npm notice 1.0kB examples/extensions/file-trigger.ts
npm notice 1.5kB examples/extensions/git-checkpoint.ts
npm notice 4.8kB examples/extensions/handoff.ts
npm notice 636B examples/extensions/hello.ts
npm notice 1.4kB examples/extensions/hidden-thinking-label.ts
npm notice 3.0kB examples/extensions/inline-bash.ts
npm notice 1.4kB examples/extensions/input-transform.ts
npm notice 4.8kB examples/extensions/interactive-shell.ts
npm notice 1.2kB examples/extensions/mac-system-theme.ts
npm notice 1.9kB examples/extensions/message-renderer.ts
npm notice 13.9kB examples/extensions/minimal-mode.ts
npm notice 2.4kB examples/extensions/modal-editor.ts
npm notice 955B examples/extensions/model-status.ts
npm notice 1.9kB examples/extensions/notify.ts
npm notice 41.8kB examples/extensions/overlay-qa-tests.ts
npm notice 5.4kB examples/extensions/overlay-test.ts
npm notice 1.0kB examples/extensions/permission-gate.ts
npm notice 1.5kB examples/extensions/pirate.ts
npm notice 10.7kB examples/extensions/plan-mode/index.ts
npm notice 2.0kB examples/extensions/plan-mode/README.md
npm notice 4.1kB examples/extensions/plan-mode/utils.ts
npm notice 13.3kB examples/extensions/preset.ts
npm notice 806B examples/extensions/protected-paths.ts
npm notice 511B examples/extensions/provider-payload.ts
npm notice 3.7kB examples/extensions/qna.ts
npm notice 7.8kB examples/extensions/question.ts
npm notice 12.8kB examples/extensions/questionnaire.ts
npm notice 2.4kB examples/extensions/rainbow-editor.ts
npm notice 9.2kB examples/extensions/README.md
npm notice 1.2kB examples/extensions/reload-runtime.ts
npm notice 3.6kB examples/extensions/rpc-demo.ts
npm notice 8.9kB examples/extensions/sandbox/index.ts
npm notice 3.1kB examples/extensions/sandbox/package-lock.json
npm notice 344B examples/extensions/sandbox/package.json
npm notice 2.8kB examples/extensions/send-user-message.ts
npm notice 783B examples/extensions/session-name.ts
npm notice 2.1kB examples/extensions/shutdown-command.ts
npm notice 9.4kB examples/extensions/snake.ts
npm notice 15.2kB examples/extensions/space-invaders.ts
npm notice 7.3kB examples/extensions/ssh.ts
npm notice 935B examples/extensions/status-line.ts
npm notice 3.3kB examples/extensions/subagent/agents.ts
npm notice 896B examples/extensions/subagent/agents/planner.md
npm notice 933B examples/extensions/subagent/agents/reviewer.md
npm notice 1.3kB examples/extensions/subagent/agents/scout.md
npm notice 664B examples/extensions/subagent/agents/worker.md
npm notice 34.2kB examples/extensions/subagent/index.ts
npm notice 494B examples/extensions/subagent/prompts/implement-and-review.md
npm notice 579B examples/extensions/subagent/prompts/implement.md
npm notice 496B examples/extensions/subagent/prompts/scout-and-plan.md
npm notice 5.8kB examples/extensions/subagent/README.md
npm notice 5.2kB examples/extensions/summarize.ts
npm notice 526B examples/extensions/system-prompt-header.ts
npm notice 2.2kB examples/extensions/timed-confirm.ts
npm notice 1.6kB examples/extensions/titlebar-spinner.ts
npm notice 8.8kB examples/extensions/todo.ts
npm notice 4.8kB examples/extensions/tool-override.ts
npm notice 3.8kB examples/extensions/tools.ts
npm notice 1.3kB examples/extensions/trigger-compact.ts
npm notice 6.5kB examples/extensions/truncated-tool.ts
npm notice 365B examples/extensions/widget-placement.ts
npm notice 1.0kB examples/extensions/with-deps/index.ts
npm notice 894B examples/extensions/with-deps/package-lock.json
npm notice 398B examples/extensions/with-deps/package.json
npm notice 906B examples/README.md
npm notice 16.7kB examples/rpc-extension-ui.ts
npm notice 637B examples/sdk/01-minimal.ts
npm notice 1.5kB examples/sdk/02-custom-model.ts
npm notice 1.7kB examples/sdk/03-custom-prompt.ts
npm notice 1.4kB examples/sdk/04-skills.ts
npm notice 1.6kB examples/sdk/05-tools.ts
npm notice 2.5kB examples/sdk/06-extensions.ts
npm notice 1.1kB examples/sdk/07-context-files.ts
npm notice 1.3kB examples/sdk/08-prompt-templates.ts
npm notice 1.6kB examples/sdk/09-api-keys-and-oauth.ts
npm notice 1.5kB examples/sdk/10-settings.ts
npm notice 1.7kB examples/sdk/11-sessions.ts
npm notice 2.4kB examples/sdk/12-full-control.ts
npm notice 1.9kB examples/sdk/13-session-runtime.ts
npm notice 4.9kB examples/sdk/README.md
npm notice 3.3kB package.json
npm notice name: @mariozechner/pi-coding-agent
npm notice filename: mariozechner-pi-coding-agent-0.65.1.tgz
npm notice package size: 3.9 MB
npm notice unpacked size: 10.0 MB
npm notice shasum: 166afded6733ad119a8b287e364c4d0c27b85d99
npm notice integrity: sha512-Svpm+g8luui9+[...]lKZfXDDhK7jCA==
npm notice total files: 666
+ @mariozechner/pi-coding-agent@0.65.1
> @mariozechner/pi-mom@0.65.1 prepublishOnly
> npm run clean && npm run build
> @mariozechner/pi-mom@0.65.1 clean
> shx rm -rf dist
> @mariozechner/pi-mom@0.65.1 build
> tsgo -p tsconfig.build.json && shx chmod +x dist/main.js
npm notice 📦 @mariozechner/pi-mom@0.65.1
npm notice 15.6kB CHANGELOG.md
npm notice 20.7kB README.md
npm notice 795B dist/agent.d.ts
npm notice 35.1kB dist/agent.d.ts.map
npm notice 33.9kB dist/agent.js
npm notice 58.6kB dist/agent.js.map
npm notice 1.3kB dist/context.d.ts
npm notice 7.1kB dist/context.d.ts.map
npm notice 6.1kB dist/context.js
npm notice 11.0kB dist/context.js.map
npm notice 131B dist/download.d.ts
npm notice 3.9kB dist/download.d.ts.map
npm notice 3.5kB dist/download.js
npm notice 7.3kB dist/download.js.map
npm notice 1.4kB dist/events.d.ts
npm notice 12.7kB dist/events.d.ts.map
npm notice 11.0kB dist/events.js
npm notice 21.6kB dist/events.js.map
npm notice 2.1kB dist/log.d.ts
npm notice 11.9kB dist/log.d.ts.map
npm notice 8.9kB dist/log.js
npm notice 20.0kB dist/log.js.map
npm notice 65B dist/main.d.ts
npm notice 13.0kB dist/main.d.ts.map
npm notice 13.3kB dist/main.js
npm notice 24.7kB dist/main.js.map
npm notice 955B dist/sandbox.d.ts
npm notice 7.2kB dist/sandbox.d.ts.map
npm notice 6.1kB dist/sandbox.js
npm notice 12.6kB dist/sandbox.js.map
npm notice 4.0kB dist/slack.d.ts
npm notice 24.2kB dist/slack.d.ts.map
npm notice 17.9kB dist/slack.js
npm notice 36.7kB dist/slack.js.map
npm notice 1.8kB dist/store.d.ts
npm notice 8.6kB dist/store.d.ts.map
npm notice 6.4kB dist/store.js
npm notice 12.8kB dist/store.js.map
npm notice 532B dist/tools/attach.d.ts
npm notice 2.1kB dist/tools/attach.d.ts.map
npm notice 1.4kB dist/tools/attach.js
npm notice 3.0kB dist/tools/attach.js.map
npm notice 499B dist/tools/bash.d.ts
npm notice 4.4kB dist/tools/bash.d.ts.map
npm notice 3.9kB dist/tools/bash.js
npm notice 7.1kB dist/tools/bash.js.map
npm notice 507B dist/tools/edit.d.ts
npm notice 6.0kB dist/tools/edit.d.ts.map
npm notice 5.9kB dist/tools/edit.js
npm notice 10.8kB dist/tools/edit.js.map
npm notice 271B dist/tools/index.d.ts
npm notice 985B dist/tools/index.d.ts.map
npm notice 524B dist/tools/index.js
npm notice 1.2kB dist/tools/index.js.map
npm notice 582B dist/tools/read.d.ts
npm notice 7.0kB dist/tools/read.d.ts.map
npm notice 6.5kB dist/tools/read.js
npm notice 11.6kB dist/tools/read.js.map
npm notice 2.3kB dist/tools/truncate.d.ts
npm notice 8.3kB dist/tools/truncate.d.ts.map
npm notice 6.4kB dist/tools/truncate.js
npm notice 12.3kB dist/tools/truncate.js.map
npm notice 461B dist/tools/write.d.ts
npm notice 2.2kB dist/tools/write.d.ts.map
npm notice 1.6kB dist/tools/write.js
npm notice 3.3kB dist/tools/write.js.map
npm notice 1.3kB package.json
npm notice name: @mariozechner/pi-mom
npm notice filename: mariozechner-pi-mom-0.65.1.tgz
npm notice package size: 129.0 kB
npm notice unpacked size: 597.7 kB
npm notice shasum: 12653f3c08bc9586850229c503c23c31be413877
npm notice integrity: sha512-MuRRb/b8rkPoV[...]1LhpUI2qo/0rA==
npm notice total files: 67
+ @mariozechner/pi-mom@0.65.1
> @mariozechner/pi@0.65.1 prepublishOnly
> npm run clean && npm run build
> @mariozechner/pi@0.65.1 clean
> shx rm -rf dist
> @mariozechner/pi@0.65.1 build
> tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp src/models.json dist/ && shx cp -r scripts dist/
npm notice 📦 @mariozechner/pi@0.65.1
npm notice 16.0kB README.md
npm notice 64B dist/cli.d.ts
npm notice 12.8kB dist/cli.d.ts.map
npm notice 14.2kB dist/cli.js
npm notice 23.4kB dist/cli.js.map
npm notice 969B dist/commands/models.d.ts
npm notice 27.2kB dist/commands/models.d.ts.map
npm notice 27.3kB dist/commands/models.js
npm notice 52.6kB dist/commands/models.js.map
npm notice 540B dist/commands/pods.d.ts
npm notice 7.2kB dist/commands/pods.d.ts.map
npm notice 6.9kB dist/commands/pods.js
npm notice 14.2kB dist/commands/pods.js.map
npm notice 227B dist/commands/prompt.d.ts
npm notice 3.8kB dist/commands/prompt.d.ts.map
npm notice 2.8kB dist/commands/prompt.js
npm notice 5.4kB dist/commands/prompt.js.map
npm notice 452B dist/config.d.ts
npm notice 2.6kB dist/config.d.ts.map
npm notice 2.1kB dist/config.js
npm notice 5.0kB dist/config.js.map
npm notice 63B dist/index.d.ts
npm notice 201B dist/index.d.ts.map
npm notice 85B dist/index.js
npm notice 212B dist/index.js.map
npm notice 649B dist/model-configs.d.ts
npm notice 3.2kB dist/model-configs.d.ts.map
npm notice 2.4kB dist/model-configs.js
npm notice 5.2kB dist/model-configs.js.map
npm notice 7.3kB dist/models.json
npm notice 2.0kB dist/scripts/model_run.sh
npm notice 11.2kB dist/scripts/pod_setup.sh
npm notice 772B dist/ssh.d.ts
npm notice 4.4kB dist/ssh.d.ts.map
npm notice 3.9kB dist/ssh.js
npm notice 8.1kB dist/ssh.js.map
npm notice 466B dist/types.d.ts
npm notice 1.2kB dist/types.d.ts.map
npm notice 76B dist/types.js
npm notice 693B dist/types.js.map
npm notice 837B package.json
npm notice 2.0kB scripts/model_run.sh
npm notice 11.2kB scripts/pod_setup.sh
npm notice name: @mariozechner/pi
npm notice filename: mariozechner-pi-0.65.1.tgz
npm notice package size: 61.4 kB
npm notice unpacked size: 292.1 kB
npm notice shasum: 4116091db75209295d9fe6a01c812f50a121e28e
npm notice integrity: sha512-fB3Fo/UBCkR5u[...]dZesPpHXgnaXg==
npm notice total files: 43
+ @mariozechner/pi@0.65.1
> @mariozechner/pi-tui@0.65.1 prepublishOnly
> npm run clean && npm run build
> @mariozechner/pi-tui@0.65.1 clean
> shx rm -rf dist
> @mariozechner/pi-tui@0.65.1 build
> tsgo -p tsconfig.build.json
npm notice 📦 @mariozechner/pi-tui@0.65.1
npm notice 23.3kB README.md
npm notice 1.9kB dist/autocomplete.d.ts
npm notice 27.3kB dist/autocomplete.d.ts.map
npm notice 25.1kB dist/autocomplete.js
npm notice 47.6kB dist/autocomplete.js.map
npm notice 709B dist/components/box.d.ts
npm notice 4.3kB dist/components/box.d.ts.map
npm notice 3.2kB dist/components/box.js
npm notice 7.1kB dist/components/box.js.map
npm notice 750B dist/components/cancellable-loader.d.ts
npm notice 1.6kB dist/components/cancellable-loader.d.ts.map
npm notice 1.1kB dist/components/cancellable-loader.js
npm notice 1.9kB dist/components/cancellable-loader.js.map
npm notice 9.3kB dist/components/editor.d.ts
npm notice 85.6kB dist/components/editor.d.ts.map
npm notice 83.8kB dist/components/editor.js
npm notice 151.5kB dist/components/editor.js.map
npm notice 959B dist/components/image.d.ts
npm notice 4.0kB dist/components/image.d.ts.map
npm notice 2.6kB dist/components/image.js
npm notice 5.5kB dist/components/image.js.map
npm notice 1.1kB dist/components/input.d.ts
npm notice 17.6kB dist/components/input.d.ts.map
npm notice 17.3kB dist/components/input.js
npm notice 33.1kB dist/components/input.js.map
npm notice 658B dist/components/loader.d.ts
npm notice 2.2kB dist/components/loader.d.ts.map
npm notice 1.4kB dist/components/loader.js
npm notice 3.0kB dist/components/loader.js.map
npm notice 3.2kB dist/components/markdown.d.ts
npm notice 32.2kB dist/components/markdown.d.ts.map
npm notice 30.3kB dist/components/markdown.js
npm notice 55.8kB dist/components/markdown.js.map
npm notice 1.6kB dist/components/select-list.d.ts
npm notice 9.9kB dist/components/select-list.d.ts.map
npm notice 7.2kB dist/components/select-list.js
npm notice 15.3kB dist/components/select-list.js.map
npm notice 1.8kB dist/components/settings-list.d.ts
npm notice 10.4kB dist/components/settings-list.d.ts.map
npm notice 7.6kB dist/components/settings-list.js
npm notice 16.3kB dist/components/settings-list.js.map
npm notice 335B dist/components/spacer.d.ts
npm notice 978B dist/components/spacer.d.ts.map
npm notice 480B dist/components/spacer.js
npm notice 1.2kB dist/components/spacer.js.map
npm notice 632B dist/components/text.d.ts
npm notice 4.3kB dist/components/text.d.ts.map
npm notice 3.4kB dist/components/text.js
npm notice 6.7kB dist/components/text.js.map
npm notice 403B dist/components/truncated-text.d.ts
npm notice 2.5kB dist/components/truncated-text.d.ts.map
npm notice 1.9kB dist/components/truncated-text.js
npm notice 3.8kB dist/components/truncated-text.js.map
npm notice 1.6kB dist/editor-component.d.ts
npm notice 3.8kB dist/editor-component.d.ts.map
npm notice 55B dist/editor-component.js
npm notice 2.9kB dist/editor-component.js.map
npm notice 574B dist/fuzzy.d.ts
npm notice 4.0kB dist/fuzzy.d.ts.map
npm notice 3.7kB dist/fuzzy.js
npm notice 7.1kB dist/fuzzy.js.map
npm notice 2.6kB dist/index.d.ts
npm notice 5.2kB dist/index.d.ts.map
npm notice 1.9kB dist/index.js
npm notice 4.7kB dist/index.js.map
npm notice 6.9kB dist/keybindings.d.ts
npm notice 10.7kB dist/keybindings.d.ts.map
npm notice 6.3kB dist/keybindings.js
npm notice 14.3kB dist/keybindings.js.map
npm notice 7.4kB dist/keys.d.ts
npm notice 49.7kB dist/keys.d.ts.map
npm notice 43.3kB dist/keys.js
npm notice 81.6kB dist/keys.js.map
npm notice 967B dist/kill-ring.d.ts
npm notice 1.8kB dist/kill-ring.d.ts.map
npm notice 1.4kB dist/kill-ring.js
npm notice 2.5kB dist/kill-ring.js.map
npm notice 1.6kB dist/stdin-buffer.d.ts
npm notice 11.6kB dist/stdin-buffer.d.ts.map
npm notice 10.7kB dist/stdin-buffer.js
npm notice 19.5kB dist/stdin-buffer.js.map
npm notice 2.8kB dist/terminal-image.d.ts
npm notice 13.4kB dist/terminal-image.d.ts.map
npm notice 10.2kB dist/terminal-image.js
npm notice 21.9kB dist/terminal-image.js.map
npm notice 3.3kB dist/terminal.d.ts
npm notice 14.3kB dist/terminal.d.ts.map
npm notice 11.6kB dist/terminal.js
npm notice 20.8kB dist/terminal.js.map
npm notice 8.3kB dist/tui.d.ts
npm notice 48.4kB dist/tui.d.ts.map
npm notice 42.3kB dist/tui.js
npm notice 77.3kB dist/tui.js.map
npm notice 562B dist/undo-stack.d.ts
npm notice 1.1kB dist/undo-stack.d.ts.map
npm notice 683B dist/undo-stack.js
npm notice 1.2kB dist/undo-stack.js.map
npm notice 3.3kB dist/utils.d.ts
npm notice 33.3kB dist/utils.d.ts.map
npm notice 33.9kB dist/utils.js
npm notice 60.3kB dist/utils.js.map
npm notice 1.2kB package.json
npm notice name: @mariozechner/pi-tui
npm notice filename: mariozechner-pi-tui-0.65.1.tgz
npm notice package size: 307.3 kB
npm notice unpacked size: 1.5 MB
npm notice shasum: fa3bad5e444967560ff203885b62ff3e176ead9d
npm notice integrity: sha512-z3oa3YDzs3yxs[...]jM0/LjYMdayuA==
npm notice total files: 102
+ @mariozechner/pi-tui@0.65.1
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files.
npm notice 📦 @mariozechner/pi-web-ui@0.65.1
npm notice 7.8kB CHANGELOG.md
npm notice 16.3kB README.md
npm notice 87.1kB dist/app.css
npm notice 1.3kB dist/ChatPanel.d.ts
npm notice 1.1kB dist/ChatPanel.d.ts.map
npm notice 8.5kB dist/ChatPanel.js
npm notice 5.8kB dist/ChatPanel.js.map
npm notice 1.6kB dist/components/AgentInterface.d.ts
npm notice 1.4kB dist/components/AgentInterface.d.ts.map
npm notice 15.6kB dist/components/AgentInterface.js
npm notice 10.8kB dist/components/AgentInterface.js.map
npm notice 455B dist/components/AttachmentTile.d.ts
npm notice 428B dist/components/AttachmentTile.d.ts.map
npm notice 4.6kB dist/components/AttachmentTile.js
npm notice 2.5kB dist/components/AttachmentTile.js.map
npm notice 396B dist/components/ConsoleBlock.d.ts
npm notice 380B dist/components/ConsoleBlock.d.ts.map
npm notice 3.2kB dist/components/ConsoleBlock.js
npm notice 2.0kB dist/components/ConsoleBlock.js.map
npm notice 666B dist/components/CustomProviderCard.d.ts
npm notice 659B dist/components/CustomProviderCard.d.ts.map
npm notice 4.0kB dist/components/CustomProviderCard.js
npm notice 2.6kB dist/components/CustomProviderCard.js.map
npm notice 520B dist/components/ExpandableSection.d.ts
npm notice 396B dist/components/ExpandableSection.d.ts.map
npm notice 2.5kB dist/components/ExpandableSection.js
npm notice 1.3kB dist/components/ExpandableSection.js.map
npm notice 929B dist/components/Input.d.ts
npm notice 1.1kB dist/components/Input.d.ts.map
npm notice 2.5kB dist/components/Input.js
npm notice 1.8kB dist/components/Input.js.map
npm notice 690B dist/components/message-renderer-registry.d.ts
npm notice 693B dist/components/message-renderer-registry.d.ts.map
npm notice 430B dist/components/message-renderer-registry.js
npm notice 537B dist/components/message-renderer-registry.js.map
npm notice 1.5kB dist/components/MessageEditor.d.ts
npm notice 1.5kB dist/components/MessageEditor.d.ts.map
npm notice 15.5kB dist/components/MessageEditor.js
npm notice 11.3kB dist/components/MessageEditor.js.map
npm notice 542B dist/components/MessageList.d.ts
npm notice 537B dist/components/MessageList.d.ts.map
npm notice 3.9kB dist/components/MessageList.js
npm notice 2.6kB dist/components/MessageList.js.map
npm notice 3.6kB dist/components/Messages.d.ts
npm notice 2.5kB dist/components/Messages.d.ts.map
npm notice 13.3kB dist/components/Messages.js
npm notice 9.4kB dist/components/Messages.js.map
npm notice 477B dist/components/ProviderKeyInput.d.ts
npm notice 440B dist/components/ProviderKeyInput.d.ts.map
npm notice 6.3kB dist/components/ProviderKeyInput.js
npm notice 4.7kB dist/components/ProviderKeyInput.js.map
npm notice 1.3kB dist/components/sandbox/ArtifactsRuntimeProvider.d.ts
npm notice 1.0kB dist/components/sandbox/ArtifactsRuntimeProvider.d.ts.map
npm notice 7.9kB dist/components/sandbox/ArtifactsRuntimeProvider.js
npm notice 5.8kB dist/components/sandbox/ArtifactsRuntimeProvider.js.map
npm notice 691B dist/components/sandbox/AttachmentsRuntimeProvider.d.ts
npm notice 480B dist/components/sandbox/AttachmentsRuntimeProvider.d.ts.map
npm notice 2.5kB dist/components/sandbox/AttachmentsRuntimeProvider.js
npm notice 2.1kB dist/components/sandbox/AttachmentsRuntimeProvider.js.map
npm notice 1.2kB dist/components/sandbox/ConsoleRuntimeProvider.d.ts
npm notice 896B dist/components/sandbox/ConsoleRuntimeProvider.d.ts.map
npm notice 6.0kB dist/components/sandbox/ConsoleRuntimeProvider.js
npm notice 4.2kB dist/components/sandbox/ConsoleRuntimeProvider.js.map
npm notice 1.0kB dist/components/sandbox/FileDownloadRuntimeProvider.d.ts
npm notice 702B dist/components/sandbox/FileDownloadRuntimeProvider.d.ts.map
npm notice 3.9kB dist/components/sandbox/FileDownloadRuntimeProvider.js
npm notice 2.5kB dist/components/sandbox/FileDownloadRuntimeProvider.js.map
npm notice 789B dist/components/sandbox/RuntimeMessageBridge.d.ts
npm notice 470B dist/components/sandbox/RuntimeMessageBridge.d.ts.map
npm notice 2.5kB dist/components/sandbox/RuntimeMessageBridge.js
npm notice 765B dist/components/sandbox/RuntimeMessageBridge.js.map
npm notice 2.5kB dist/components/sandbox/RuntimeMessageRouter.d.ts
npm notice 909B dist/components/sandbox/RuntimeMessageRouter.d.ts.map
npm notice 6.8kB dist/components/sandbox/RuntimeMessageRouter.js
npm notice 3.9kB dist/components/sandbox/RuntimeMessageRouter.js.map
npm notice 2.2kB dist/components/sandbox/SandboxRuntimeProvider.d.ts
npm notice 653B dist/components/sandbox/SandboxRuntimeProvider.d.ts.map
npm notice 61B dist/components/sandbox/SandboxRuntimeProvider.js
npm notice 161B dist/components/sandbox/SandboxRuntimeProvider.js.map
npm notice 3.4kB dist/components/SandboxedIframe.d.ts
npm notice 1.6kB dist/components/SandboxedIframe.d.ts.map
npm notice 21.9kB dist/components/SandboxedIframe.js
npm notice 12.7kB dist/components/SandboxedIframe.js.map
npm notice 820B dist/components/StreamingMessageContainer.d.ts
npm notice 764B dist/components/StreamingMessageContainer.d.ts.map
npm notice 5.0kB dist/components/StreamingMessageContainer.js
npm notice 2.8kB dist/components/StreamingMessageContainer.js.map
npm notice 383B dist/components/ThinkingBlock.d.ts
npm notice 362B dist/components/ThinkingBlock.d.ts.map
npm notice 2.4kB dist/components/ThinkingBlock.js
npm notice 1.2kB dist/components/ThinkingBlock.js.map
npm notice 590B dist/dialogs/ApiKeyPromptDialog.d.ts
npm notice 486B dist/dialogs/ApiKeyPromptDialog.d.ts.map
npm notice 3.0kB dist/dialogs/ApiKeyPromptDialog.js
npm notice 2.0kB dist/dialogs/ApiKeyPromptDialog.js.map
npm notice 1.1kB dist/dialogs/AttachmentOverlay.d.ts
npm notice 964B dist/dialogs/AttachmentOverlay.d.ts.map
npm notice 22.8kB dist/dialogs/AttachmentOverlay.js
npm notice 15.3kB dist/dialogs/AttachmentOverlay.js.map
npm notice 963B dist/dialogs/CustomProviderDialog.d.ts
npm notice 882B dist/dialogs/CustomProviderDialog.d.ts.map
npm notice 10.0kB dist/dialogs/CustomProviderDialog.js
npm notice 7.7kB dist/dialogs/CustomProviderDialog.js.map
npm notice 1.1kB dist/dialogs/ModelSelector.d.ts
npm notice 1.0kB dist/dialogs/ModelSelector.d.ts.map
npm notice 15.4kB dist/dialogs/ModelSelector.js
npm notice 11.6kB dist/dialogs/ModelSelector.js.map
npm notice 630B dist/dialogs/PersistentStorageDialog.d.ts
npm notice 450B dist/dialogs/PersistentStorageDialog.d.ts.map
npm notice 5.9kB dist/dialogs/PersistentStorageDialog.js
npm notice 3.1kB dist/dialogs/PersistentStorageDialog.js.map
npm notice 698B dist/dialogs/ProvidersModelsTab.d.ts
npm notice 536B dist/dialogs/ProvidersModelsTab.d.ts.map
npm notice 7.7kB dist/dialogs/ProvidersModelsTab.js
npm notice 5.5kB dist/dialogs/ProvidersModelsTab.js.map
npm notice 717B dist/dialogs/SessionListDialog.d.ts
npm notice 637B dist/dialogs/SessionListDialog.d.ts.map
npm notice 6.1kB dist/dialogs/SessionListDialog.js
npm notice 4.0kB dist/dialogs/SessionListDialog.js.map
npm notice 1.0kB dist/dialogs/SettingsDialog.d.ts
npm notice 837B dist/dialogs/SettingsDialog.d.ts.map
npm notice 7.9kB dist/dialogs/SettingsDialog.js
npm notice 5.1kB dist/dialogs/SettingsDialog.js.map
npm notice 5.7kB dist/index.d.ts
npm notice 3.7kB dist/index.d.ts.map
npm notice 4.9kB dist/index.js
npm notice 3.2kB dist/index.js.map
npm notice 4.6kB dist/prompts/prompts.d.ts
npm notice 383B dist/prompts/prompts.d.ts.map
npm notice 10.8kB dist/prompts/prompts.js
npm notice 954B dist/prompts/prompts.js.map
npm notice 1.3kB dist/storage/app-storage.d.ts
npm notice 954B dist/storage/app-storage.d.ts.map
npm notice 1.1kB dist/storage/app-storage.js
npm notice 855B dist/storage/app-storage.js.map
npm notice 1.3kB dist/storage/backends/indexeddb-storage-backend.d.ts
npm notice 1.4kB dist/storage/backends/indexeddb-storage-backend.d.ts.map
npm notice 6.8kB dist/storage/backends/indexeddb-storage-backend.js
npm notice 6.7kB dist/storage/backends/indexeddb-storage-backend.js.map
npm notice 771B dist/storage/store.d.ts
npm notice 370B dist/storage/store.d.ts.map
npm notice 701B dist/storage/store.js
npm notice 462B dist/storage/store.js.map
npm notice 968B dist/storage/stores/custom-providers-store.d.ts
npm notice 994B dist/storage/stores/custom-providers-store.d.ts.map
npm notice 1.0kB dist/storage/stores/custom-providers-store.js
npm notice 1.1kB dist/storage/stores/custom-providers-store.js.map
npm notice 518B dist/storage/stores/provider-keys-store.d.ts
npm notice 600B dist/storage/stores/provider-keys-store.d.ts.map
npm notice 773B dist/storage/stores/provider-keys-store.js
npm notice 864B dist/storage/stores/provider-keys-store.js.map
npm notice 1.4kB dist/storage/stores/sessions-store.d.ts
npm notice 1.2kB dist/storage/stores/sessions-store.d.ts.map
npm notice 3.9kB dist/storage/stores/sessions-store.js
npm notice 3.7kB dist/storage/stores/sessions-store.js.map
npm notice 476B dist/storage/stores/settings-store.d.ts
npm notice 588B dist/storage/stores/settings-store.d.ts.map
npm notice 744B dist/storage/stores/settings-store.js
npm notice 840B dist/storage/stores/settings-store.js.map
npm notice 5.6kB dist/storage/types.d.ts
npm notice 3.3kB dist/storage/types.d.ts.map
npm notice 44B dist/storage/types.js
npm notice 113B dist/storage/types.js.map
npm notice 397B dist/tools/artifacts/ArtifactElement.d.ts
npm notice 402B dist/tools/artifacts/ArtifactElement.d.ts.map
npm notice 295B dist/tools/artifacts/ArtifactElement.js
npm notice 322B dist/tools/artifacts/ArtifactElement.js.map
npm notice 244B dist/tools/artifacts/ArtifactPill.d.ts
npm notice 312B dist/tools/artifacts/ArtifactPill.d.ts.map
npm notice 847B dist/tools/artifacts/ArtifactPill.js
npm notice 704B dist/tools/artifacts/ArtifactPill.js.map
npm notice 697B dist/tools/artifacts/artifacts-tool-renderer.d.ts
npm notice 620B dist/tools/artifacts/artifacts-tool-renderer.d.ts.map
npm notice 11.6kB dist/tools/artifacts/artifacts-tool-renderer.js
npm notice 8.7kB dist/tools/artifacts/artifacts-tool-renderer.js.map
npm notice 2.2kB dist/tools/artifacts/artifacts.d.ts
npm notice 1.6kB dist/tools/artifacts/artifacts.d.ts.map
npm notice 27.6kB dist/tools/artifacts/artifacts.js
npm notice 20.8kB dist/tools/artifacts/artifacts.js.map
npm notice 489B dist/tools/artifacts/Console.d.ts
npm notice 509B dist/tools/artifacts/Console.d.ts.map
npm notice 3.8kB dist/tools/artifacts/Console.js
npm notice 2.7kB dist/tools/artifacts/Console.js.map
npm notice 723B dist/tools/artifacts/DocxArtifact.d.ts
npm notice 671B dist/tools/artifacts/DocxArtifact.d.ts.map
npm notice 7.0kB dist/tools/artifacts/DocxArtifact.js
npm notice 4.0kB dist/tools/artifacts/DocxArtifact.js.map
npm notice 783B dist/tools/artifacts/ExcelArtifact.d.ts
npm notice 720B dist/tools/artifacts/ExcelArtifact.d.ts.map
npm notice 9.2kB dist/tools/artifacts/ExcelArtifact.js
npm notice 6.6kB dist/tools/artifacts/ExcelArtifact.js.map
npm notice 619B dist/tools/artifacts/GenericArtifact.d.ts
npm notice 582B dist/tools/artifacts/GenericArtifact.d.ts.map
npm notice 4.1kB dist/tools/artifacts/GenericArtifact.js
npm notice 2.4kB dist/tools/artifacts/GenericArtifact.js.map
npm notice 1.1kB dist/tools/artifacts/HtmlArtifact.d.ts
npm notice 912B dist/tools/artifacts/HtmlArtifact.d.ts.map
npm notice 8.0kB dist/tools/artifacts/HtmlArtifact.js
npm notice 5.4kB dist/tools/artifacts/HtmlArtifact.js.map
npm notice 636B dist/tools/artifacts/ImageArtifact.d.ts
npm notice 597B dist/tools/artifacts/ImageArtifact.d.ts.map
npm notice 4.2kB dist/tools/artifacts/ImageArtifact.js
npm notice 2.8kB dist/tools/artifacts/ImageArtifact.js.map
npm notice 453B dist/tools/artifacts/index.d.ts
npm notice 459B dist/tools/artifacts/index.d.ts.map
npm notice 414B dist/tools/artifacts/index.js
npm notice 429B dist/tools/artifacts/index.js.map
npm notice 663B dist/tools/artifacts/MarkdownArtifact.d.ts
npm notice 549B dist/tools/artifacts/MarkdownArtifact.d.ts.map
npm notice 3.2kB dist/tools/artifacts/MarkdownArtifact.js
npm notice 2.0kB dist/tools/artifacts/MarkdownArtifact.js.map
npm notice 805B dist/tools/artifacts/PdfArtifact.d.ts
npm notice 740B dist/tools/artifacts/PdfArtifact.d.ts.map
npm notice 6.9kB dist/tools/artifacts/PdfArtifact.js
npm notice 5.4kB dist/tools/artifacts/PdfArtifact.js.map
npm notice 588B dist/tools/artifacts/SvgArtifact.d.ts
npm notice 511B dist/tools/artifacts/SvgArtifact.d.ts.map
npm notice 3.1kB dist/tools/artifacts/SvgArtifact.js
npm notice 2.1kB dist/tools/artifacts/SvgArtifact.js.map
npm notice 628B dist/tools/artifacts/TextArtifact.d.ts
npm notice 531B dist/tools/artifacts/TextArtifact.d.ts.map
npm notice 4.1kB dist/tools/artifacts/TextArtifact.js
npm notice 3.0kB dist/tools/artifacts/TextArtifact.js.map
npm notice 998B dist/tools/extract-document.d.ts
npm notice 730B dist/tools/extract-document.d.ts.map
npm notice 10.3kB dist/tools/extract-document.js
npm notice 6.5kB dist/tools/extract-document.js.map
npm notice 772B dist/tools/index.d.ts
npm notice 576B dist/tools/index.d.ts.map
npm notice 1.4kB dist/tools/index.js
npm notice 1.0kB dist/tools/index.js.map
npm notice 1.8kB dist/tools/javascript-repl.d.ts
npm notice 1.4kB dist/tools/javascript-repl.d.ts.map
npm notice 10.3kB dist/tools/javascript-repl.js
npm notice 8.6kB dist/tools/javascript-repl.js.map
npm notice 1.2kB dist/tools/renderer-registry.d.ts
npm notice 837B dist/tools/renderer-registry.d.ts.map
npm notice 4.3kB dist/tools/renderer-registry.js
npm notice 3.1kB dist/tools/renderer-registry.js.map
npm notice 425B dist/tools/renderers/BashRenderer.d.ts
npm notice 452B dist/tools/renderers/BashRenderer.d.ts.map
npm notice 1.6kB dist/tools/renderers/BashRenderer.js
npm notice 1.5kB dist/tools/renderers/BashRenderer.js.map
npm notice 453B dist/tools/renderers/CalculateRenderer.d.ts
npm notice 464B dist/tools/renderers/CalculateRenderer.d.ts.map
npm notice 1.9kB dist/tools/renderers/CalculateRenderer.js
npm notice 1.7kB dist/tools/renderers/CalculateRenderer.js.map
npm notice 356B dist/tools/renderers/DefaultRenderer.d.ts
npm notice 397B dist/tools/renderers/DefaultRenderer.d.ts.map
npm notice 3.1kB dist/tools/renderers/DefaultRenderer.js
npm notice 2.3kB dist/tools/renderers/DefaultRenderer.js.map
npm notice 477B dist/tools/renderers/GetCurrentTimeRenderer.d.ts
npm notice 487B dist/tools/renderers/GetCurrentTimeRenderer.d.ts.map
npm notice 2.9kB dist/tools/renderers/GetCurrentTimeRenderer.js
npm notice 2.4kB dist/tools/renderers/GetCurrentTimeRenderer.js.map
npm notice 426B dist/tools/types.d.ts
npm notice 487B dist/tools/types.d.ts.map
npm notice 44B dist/tools/types.js
npm notice 111B dist/tools/types.js.map
npm notice 606B dist/utils/attachment-utils.d.ts
npm notice 527B dist/utils/attachment-utils.d.ts.map
npm notice 16.3kB dist/utils/attachment-utils.js
npm notice 13.8kB dist/utils/attachment-utils.js.map
npm notice 166B dist/utils/auth-token.d.ts
npm notice 204B dist/utils/auth-token.d.ts.map
npm notice 688B dist/utils/auth-token.js
npm notice 742B dist/utils/auth-token.js.map
npm notice 328B dist/utils/format.d.ts
npm notice 366B dist/utils/format.d.ts.map
npm notice 1.5kB dist/utils/format.js
npm notice 2.0kB dist/utils/format.js.map
npm notice 24.4kB dist/utils/i18n.d.ts
npm notice 6.1kB dist/utils/i18n.d.ts.map
npm notice 23.4kB dist/utils/i18n.js
npm notice 9.8kB dist/utils/i18n.js.map
npm notice 1.9kB dist/utils/model-discovery.d.ts
npm notice 880B dist/utils/model-discovery.d.ts.map
npm notice 9.6kB dist/utils/model-discovery.js
npm notice 7.0kB dist/utils/model-discovery.js.map
npm notice 1.9kB dist/utils/proxy-utils.d.ts
npm notice 701B dist/utils/proxy-utils.d.ts.map
npm notice 4.0kB dist/utils/proxy-utils.js
npm notice 2.3kB dist/utils/proxy-utils.js.map
npm notice 9.3kB dist/utils/test-sessions.d.ts
npm notice 547B dist/utils/test-sessions.d.ts.map
npm notice 154.8kB dist/utils/test-sessions.js
npm notice 38.5kB dist/utils/test-sessions.js.map
npm notice 422B example/index.html
npm notice 565B example/package.json
npm notice 1.7kB example/README.md
npm notice 30B example/src/app.css
npm notice 3.4kB example/src/custom-messages.ts
npm notice 12.1kB example/src/main.ts
npm notice 647B example/tsconfig.json
npm notice 144B example/vite.config.ts
npm notice 1.7kB package.json
npm notice 2.2kB scripts/count-prompt-tokens.ts
npm notice 1.6kB src/app.css
npm notice 7.4kB src/ChatPanel.ts
npm notice 13.5kB src/components/AgentInterface.ts
npm notice 3.6kB src/components/AttachmentTile.ts
npm notice 2.2kB src/components/ConsoleBlock.ts
npm notice 3.0kB src/components/CustomProviderCard.ts
npm notice 1.5kB src/components/ExpandableSection.ts
npm notice 3.2kB src/components/Input.ts
npm notice 980B src/components/message-renderer-registry.ts
npm notice 12.1kB src/components/MessageEditor.ts
npm notice 3.0kB src/components/MessageList.ts
npm notice 12.2kB src/components/Messages.ts
npm notice 4.5kB src/components/ProviderKeyInput.ts
npm notice 6.4kB src/components/sandbox/ArtifactsRuntimeProvider.ts
npm notice 2.2kB src/components/sandbox/AttachmentsRuntimeProvider.ts
npm notice 5.0kB src/components/sandbox/ConsoleRuntimeProvider.ts
npm notice 3.3kB src/components/sandbox/FileDownloadRuntimeProvider.ts
npm notice 2.7kB src/components/sandbox/RuntimeMessageBridge.ts
npm notice 6.6kB src/components/sandbox/RuntimeMessageRouter.ts
npm notice 2.0kB src/components/sandbox/SandboxRuntimeProvider.ts
npm notice 19.6kB src/components/SandboxedIframe.ts
npm notice 3.7kB src/components/StreamingMessageContainer.ts
npm notice 1.5kB src/components/ThinkingBlock.ts
npm notice 2.0kB src/dialogs/ApiKeyPromptDialog.ts
npm notice 18.9kB src/dialogs/AttachmentOverlay.ts
npm notice 8.5kB src/dialogs/CustomProviderDialog.ts
npm notice 12.6kB src/dialogs/ModelSelector.ts
npm notice 4.5kB src/dialogs/PersistentStorageDialog.ts
npm notice 6.8kB src/dialogs/ProvidersModelsTab.ts
npm notice 4.9kB src/dialogs/SessionListDialog.ts
npm notice 6.3kB src/dialogs/SettingsDialog.ts
npm notice 5.9kB src/index.ts
npm notice 10.8kB src/prompts/prompts.ts
npm notice 1.7kB src/storage/app-storage.ts
npm notice 6.1kB src/storage/backends/indexeddb-storage-backend.ts
npm notice 868B src/storage/store.ts
npm notice 1.9kB src/storage/stores/custom-providers-store.ts
npm notice 837B src/storage/stores/provider-keys-store.ts
npm notice 3.9kB src/storage/stores/sessions-store.ts
npm notice 789B src/storage/stores/settings-store.ts
npm notice 5.1kB src/storage/types.ts
npm notice 410B src/tools/artifacts/ArtifactElement.ts
npm notice 889B src/tools/artifacts/ArtifactPill.ts
npm notice 10.4kB src/tools/artifacts/artifacts-tool-renderer.ts
npm notice 23.9kB src/tools/artifacts/artifacts.ts
npm notice 3.0kB src/tools/artifacts/Console.ts
npm notice 5.7kB src/tools/artifacts/DocxArtifact.ts
npm notice 7.1kB src/tools/artifacts/ExcelArtifact.ts
npm notice 3.2kB src/tools/artifacts/GenericArtifact.ts
npm notice 6.9kB src/tools/artifacts/HtmlArtifact.ts
npm notice 3.2kB src/tools/artifacts/ImageArtifact.ts
npm notice 418B src/tools/artifacts/index.ts
npm notice 2.4kB src/tools/artifacts/MarkdownArtifact.ts
npm notice 5.4kB src/tools/artifacts/PdfArtifact.ts
npm notice 2.3kB src/tools/artifacts/SvgArtifact.ts
npm notice 3.1kB src/tools/artifacts/TextArtifact.ts
npm notice 9.4kB src/tools/extract-document.ts
npm notice 1.5kB src/tools/index.ts
npm notice 10.0kB src/tools/javascript-repl.ts
npm notice 4.3kB src/tools/renderer-registry.ts
npm notice 1.7kB src/tools/renderers/BashRenderer.ts
npm notice 1.9kB src/tools/renderers/CalculateRenderer.ts
npm notice 2.8kB src/tools/renderers/DefaultRenderer.ts
npm notice 2.7kB src/tools/renderers/GetCurrentTimeRenderer.ts
npm notice 442B src/tools/types.ts
npm notice 14.2kB src/utils/attachment-utils.ts
npm notice 647B src/utils/auth-token.ts
npm notice 1.4kB src/utils/format.ts
npm notice 27.8kB src/utils/i18n.ts
npm notice 8.3kB src/utils/model-discovery.ts
npm notice 3.9kB src/utils/proxy-utils.ts
npm notice 128.7kB src/utils/test-sessions.ts
npm notice 501B tsconfig.build.json
npm notice 118B tsconfig.json
npm notice name: @mariozechner/pi-web-ui
npm notice filename: mariozechner-pi-web-ui-0.65.1.tgz
npm notice package size: 354.3 kB
npm notice unpacked size: 1.8 MB
npm notice shasum: 3eed9d4ffeb23321fbbb71bf68225aeb4c37f1a2
npm notice integrity: sha512-Hn0t3mc4EYCCz[...]AKYWc+YbkPOSQ==
npm notice total files: 371
+ @mariozechner/pi-web-ui@0.65.1
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files.
npm notice 📦 pi-web-ui-example@1.53.1
npm notice 1.7kB README.md
npm notice 422B index.html
npm notice 565B package.json
npm notice 30B src/app.css
npm notice 3.4kB src/custom-messages.ts
npm notice 12.1kB src/main.ts
npm notice 647B tsconfig.json
npm notice 144B vite.config.ts
npm notice name: pi-web-ui-example
npm notice version: 1.53.1
npm notice filename: pi-web-ui-example-1.53.1.tgz
npm notice package size: 6.4 kB
npm notice unpacked size: 19.0 kB
npm notice shasum: 9a51fe07acccdc48c0af82d3400038479eb6cb85
npm notice integrity: sha512-LYtPsu/njp02R[...]1RFqkaLaiP+Gg==
npm notice total files: 8
npm warn publish Skipping workspace pi-web-ui-example, marked as private
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files.
npm notice 📦 pi-extension-with-deps@1.29.1
npm notice 1.0kB index.ts
npm notice 398B package.json
npm notice name: pi-extension-with-deps
npm notice version: 1.29.1
npm notice filename: pi-extension-with-deps-1.29.1.tgz
npm notice package size: 853 B
npm notice unpacked size: 1.4 kB
npm notice shasum: b92174e94c91f5274da6889bfa66568ac5f89eb1
npm notice integrity: sha512-ZeSLlZPhig3ot[...]Ef+CV9QOYsQNQ==
npm notice total files: 2
npm warn publish Skipping workspace pi-extension-with-deps, marked as private
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files.
npm notice 📦 pi-extension-custom-provider-anthropic@1.16.1
npm notice 19.2kB index.ts
npm notice 376B package.json
npm notice name: pi-extension-custom-provider-anthropic
npm notice version: 1.16.1
npm notice filename: pi-extension-custom-provider-anthropic-1.16.1.tgz
npm notice package size: 5.6 kB
npm notice unpacked size: 19.5 kB
npm notice shasum: 71e00377eb22a43e5b0bd568d92abd7a6b9ec5d2
npm notice integrity: sha512-3sA+tRmCpUuDs[...]z2q0hCC8C8WZQ==
npm warn publish Skipping workspace pi-extension-custom-provider-anthropic, marked as private
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files.
npm notice 📦 pi-extension-custom-provider-gitlab-duo@1.16.1
npm notice 10.7kB index.ts
npm notice 317B package.json
npm notice 2.7kB test.ts
npm notice name: pi-extension-custom-provider-gitlab-duo
npm notice filename: pi-extension-custom-provider-gitlab-duo-1.16.1.tgz
npm notice package size: 4.2 kB
npm notice unpacked size: 13.7 kB
npm notice shasum: 4cb40f17899950f178ccc8f9d944e69b866485d7
npm notice integrity: sha512-BEnecv7cq2Fy4[...]5eB2ebKro2LFw==
npm notice total files: 3
npm warn publish Skipping workspace pi-extension-custom-provider-gitlab-duo, marked as private
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files.
npm notice 📦 pi-extension-custom-provider-qwen-cli@1.15.1
npm notice 10.1kB index.ts
npm notice 315B package.json
npm notice name: pi-extension-custom-provider-qwen-cli
npm notice version: 1.15.1
npm notice filename: pi-extension-custom-provider-qwen-cli-1.15.1.tgz
npm notice package size: 3.5 kB
npm notice unpacked size: 10.4 kB
npm notice shasum: 8b03a293180c17d1d5ba15337aa698f3d1e77fdb
npm notice integrity: sha512-ChpGEBtPeYaA8[...]oOlctutCVdNLA==
npm warn publish Skipping workspace pi-extension-custom-provider-qwen-cli, marked as private
Adding [Unreleased] sections for next cycle...
Added [Unreleased] to packages/agent/CHANGELOG.md
Added [Unreleased] to packages/ai/CHANGELOG.md
Added [Unreleased] to packages/coding-agent/CHANGELOG.md
Added [Unreleased] to packages/mom/CHANGELOG.md
Added [Unreleased] to packages/tui/CHANGELOG.md
Added [Unreleased] to packages/web-ui/CHANGELOG.md
Committing changelog updates...
$ git add .
$ git commit -m "Add [Unreleased] section for next cycle"
Running formatting, linting, and type checking...
> pi-monorepo@0.0.3 check
> biome check --write --error-on-warnings . && tsgo --noEmit && npm run check:browser-smoke && cd packages/web-ui && npm run check
Checked 565 files in 408ms. No fixes applied.
> pi-monorepo@0.0.3 check:browser-smoke
> node scripts/check-browser-smoke.mjs
> @mariozechner/pi-web-ui@0.65.1 check
> biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit
Checked 73 files in 37ms. No fixes applied.
Checked 3 files in 7ms. No fixes applied.
Running browser smoke check...
> pi-monorepo@0.0.3 check:browser-smoke
> node scripts/check-browser-smoke.mjs
✅ All pre-commit checks passed!
[main 78d4625a] Add [Unreleased] section for next cycle
7 files changed, 64 insertions(+), 86 deletions(-)
Pushing to remote...
$ git push origin main
To https://github.com/badlogic/pi-mono.git
db31c16b..78d4625a main -> main
$ git push origin v0.65.1
To https://github.com/badlogic/pi-mono.git
* [new tag] v0.65.1 -> v0.65.1
=== Released v0.65.1 ===
[Showing lines 1001-2059 of 2059 (50.0KB limit). Full output: /var/folders/49/l4171l3n219_xwq30fmyzr8w0000gn/T/pi-bash-68afbb8b26e222e7.log]Considering commit hashes
I need to make sure I mention the commit hashes and possibly a release tag in the final version. It's important to keep things concise while still providing the necessary details. I'm thinking about how best to present this information clearly. It seems like including both would give a complete overview without overwhelming anyone with too much detail. I'll finalize the wording to ensure it's precise and easy to understand!
Done.
Committed and pushed:
db31c16b docs(coding-agent): audit unreleased changelog entriesPatch release:
v0.65.1mainv0.65.1The release script also added fresh [Unreleased] sections for the next cycle and committed that as part of the release flow.
git tag --sort=-version:refname | head -1git log <tag>..HEAD --oneline