Commit Graph
89 Commits
Author SHA1 Message Date
can1357 8eae325a9f chore: bump version to 11.8.0 2026-02-10 03:15:33 +01:00
can1357 646aa4a3c8 chore: bump version to 11.7.3 2026-02-10 00:40:51 +01:00
can1357 c6bcc085c8 chore: bump version to 11.7.2 2026-02-07 08:58:47 +01:00
can1357 26c9fce26b chore: bump version to 11.7.1 2026-02-07 08:45:53 +01:00
can1357 d33526b3ba chore: bump version to 11.7.0 2026-02-07 08:32:33 +01:00
can1357 cc46332126 chore: bump version to 11.6.1 2026-02-07 07:28:59 +01:00
can1357 3a3c6fb17d chore: bump version to 11.6.0 2026-02-07 05:00:24 +01:00
can1357 cb89110a37 chore: bump version to 11.5.2 2026-02-07 03:10:52 +01:00
can1357 fc342e3db5 chore: bump version to 11.5.1 2026-02-07 02:45:45 +01:00
can1357 2a7a2796a8 chore: bump version to 11.5.0 2026-02-06 09:44:20 +01:00
can1357 6ce097cf87 chore: bump version to 11.4.1 2026-02-06 07:39:07 +01:00
can1357 31d26d75d6 chore: bump version to 11.4.0 2026-02-06 07:32:50 +01:00
can1357 bf8267e807 chore: bump version to 11.3.0 2026-02-06 05:36:37 +01:00
can1357 aa2c75d727 refactor(utils): simplified abort handling and stream parsing with inlined Promise.withResolvers and Uint8Array lookup
- Removed createAbortablePromise function and inlined Promise.withResolvers usage in untilAborted for simpler abort handling.
- Replaced Bitmap class with simpler Uint8Array lookup table for whitespace detection in SSE parsing.
- Fixed subarray calculation in ConcatSink.pullJSONL to use correct read offset instead of computed remainder.
- Simplified copyWithin call in ConcatSink.pullJSONL to use read offset directly.
- Changed String.replace with regex to replaceAll for carriage return removal in sanitizeText.
- Removed unused test utilities and test cases for TextDecoderStream.
2026-02-06 00:13:29 +01:00
can1357 0171cd7b75 refactor(utils): restructured stream utilities for improved reusability and correctness
- Extracted stream abort handling into dedicated `createAbortableStream` utility function for reuse across stream operations.
- Refactored `sanitizeBinaryOutput` to handle surrogate pairs correctly and filter additional control characters (DEL and C1 control block) with lazy array allocation.
- Simplified JSONL parsing by replacing manual buffer management with new `pullJSONL` generator method in ConcatSink class.
- Removed unused `createSanitizerStream` and `createTextDecoderStream` helper functions that are no longer needed.
- Refactored `readSseJson` to use generator-based line processing with fast-path optimization for OpenAI-style done markers.
- Updated stdio transport to use new `readJsonl` utility instead of manual JSON parsing with TextDecoder.
2026-02-05 23:39:05 +01:00
can1357 c2227e6a81 chore: bump version to 11.2.3 2026-02-05 21:07:09 +01:00
can1357 b12a27830c refactor(stream): improved SSE parsing & added GPT-5.3, Claude 4.6 Opus
- Extracted stream parsing utilities into reusable functions in pi-utils package (readLines, readJsonl, parseJsonlLenient, readSseJson).
- Replaced manual buffer management with ConcatSink class for efficient stream handling across multiple modules.
- Simplified SSE stream parsing in google-gemini-cli provider by using readSseJson utility instead of manual reader setup.
- Refactored MCP stdio transport to use readLines utility for cleaner line-based stream processing.
- Updated RPC client and mode to use readJsonl utility, removing duplicate JSONL parsing logic.
- Optimized buffer allocations by using allocUnsafe where data is immediately populated and reusing empty buffer instances.
2026-02-05 21:06:58 +01:00
can1357 0a8bd08565 chore: bump version to 11.2.2 2026-02-05 17:02:31 +01:00
can1357 5a5dcba9ba chore: bump version to 11.2.1 2026-02-05 14:34:50 +01:00
can1357 e71fabf279 chore: bump version to 11.2.0 2026-02-05 14:31:09 +01:00
can1357 8255875525 refactor(utils): restructured stream handling and improved error semantics across utilities
- Refactored readSseJson abort handling to use pipeThrough with signal instead of manual event listeners, improving stream cancellation semantics.
- Replaced finally block with catch block to handle abort errors explicitly, preventing unnecessary cleanup operations.
- Reformatted test strings to use single quotes for consistency with project style guidelines.
- Removed unused isEnoent import and consolidated error code checking in dump-edit-history script.
2026-02-05 13:41:49 +01:00
can1357 99ea5b517b fix(agent): fixed abort error handling, exit codes, and stdout text conversion in streams
- Fixed handling of aborted requests to properly throw abort errors when stream terminates without a terminal event.
- Fixed exit error handling in ChildProcess.wait() to properly capture exit reasons and non-zero exit codes.
- Fixed stdout text conversion in ChildProcess.wait() to use Response API for proper text decoding.
2026-02-05 11:26:24 +01:00
can1357 16ed34ebed feat(utils): refactored stderr handling API from boolean option to enum-like option
- Changed stderr handling API from `exposeStderr` boolean option to `stderr: "full" | null` enum-like option for clearer intent.
- Refactored ChildProcess constructor to accept stderr parameter directly instead of options object for simpler API.
2026-02-05 11:07:48 +01:00
can1357 1f7c4f6f90 refactor(stream-parsing): restructured stream utilities to use Web standard APIs and generic SSE parsing
- Refactored SSE stream parsing to use generic `readSseJson` utility instead of domain-specific handlers across multiple packages.
- Migrated from Node.js Buffer API to Web standard APIs (Uint8Array, TextDecoder, DataView) for cross-platform compatibility.
- Simplified stream transformation pipeline by consolidating multiple stream operations into unified `createTextLineSplitter` utility.
- Refactored `ptree.ts` to remove complex stream pumping infrastructure and simplify stderr handling with direct async iteration.
- Rewrote stream utilities to operate at binary level with byte-level parsing for improved efficiency and reduced string allocations.
- Updated TypeScript configuration to include DOM.AsyncIterable type definitions for async iterable DOM API support.
2026-02-05 10:59:47 +01:00
can1357 f69671676d build(deps): migrated from @types/node to @types/bun for Bun runtime compatibility
- Migrated from @types/node to @types/bun across all packages to align with Bun runtime.
- Removed @types/node and bun-types from root and package-specific devDependencies.
- Updated tsconfig.base.json to remove 'node' from types array and 'DOM.AsyncIterable' from lib, keeping only Bun-compatible configurations.
- Simplified ReadableStream type annotation in openai-codex-stream.test.ts by removing explicit Uint8Array generic parameter.
2026-02-05 09:10:45 +01:00
can1357 d1ccb24e7e chore: bump version to 11.1.0 2026-02-05 08:27:52 +01:00
can1357 f0b97f44fe chore: bump version to 11.0.3 2026-02-05 04:59:33 +01:00
can1357 89e6479661 refactor: migrated environment variable access from process.env to Bun.env across 71 files
- Migrated all environment variable access from Node.js `process.env` to Bun runtime `Bun.env` API across the entire codebase.
- Updated 71 files including source code, tests, documentation, and configuration to use Bun's native environment variable API.
- Added comprehensive environment variables documentation in `packages/coding-agent/docs/environment-variables.md` covering 100+ environment variables organized by category.
- Updated CHANGELOG entries to reflect migration from `process.env` to `Bun.env` and environment variable prefix changes (PI_* vs OMP_*).
- Maintained identical behavior and logic across all changes - only the environment variable access method was updated.
2026-02-05 04:51:18 +01:00
can1357 be9357694f chore: bump version to 11.0.2 2026-02-05 04:41:47 +01:00
can1357 8c453754d2 feat(coding-agent/session): added role alias expansion to model resolution logic
- Added import of expandRoleAlias function from model-resolver module.
- Added role alias expansion step before parsing model strings in model resolution logic.
2026-02-05 04:41:22 +01:00
can1357 84800efe9f chore: bump version to 11.0.1 2026-02-05 04:25:26 +01:00
can1357 3e1ef1be33 fix(utils): fixed u32 overflow in snowflake ID generation
- Fixed u32 overflow in snowflake ID generation by keeping values in Number space instead of relying on bitwise operations that cause integer truncation.
2026-02-05 04:25:11 +01:00
can1357 5c10f197c1 chore: bump version to 11.0.0 2026-02-05 04:16:22 +01:00
can1357 1fbd161921 refactor(utils): simplified snowflake generation with 32-bit operations and hex lookup
- Simplified snowflake generation by replacing bigint arithmetic with 32-bit number operations and hex lookup table.
- Removed configurable epoch from Source constructor, using fixed EPOCH constant instead.
- Renamed Source.next() method to generate() and removed source parameter from module-level functions.
- Removed getMachineId() function which was unused in non-distributed snowflake implementation.
- Simplified getSequence() and getTimestamp() implementations to use direct hex parsing instead of bigint operations.
2026-02-05 04:07:08 +01:00
can1357 b59b104bad refactor(idgen): replaced nanoid with Snowflake ID generator
- Replaced nanoid and randomUUID with Snowflake ID generator across codebase for consistent distributed ID generation.
- Created new Snowflake utility module in packages/utils with support for 64-bit distributed ID generation with configurable epoch, machine ID, and sequence numbers.
- Updated session ID format documentation from nanoid to snowflake hex string format (16 hex characters).
- Removed nanoid dependency from package.json as it is now replaced by internal Snowflake implementation.
2026-02-05 03:48:08 +01:00
can1357 8ff2ef0ce0 refactor: migrated environment variable access from getEnv() to $env object API
- Migrated environment variable access from function-based `getEnv()` API to object property-based `$env` API across 43 files in the monorepo.
- Simplified `packages/utils/src/env.ts` by removing scoped environment variable logic (EnvScope, getEnvMap, getEnv functions) and replacing with direct `process.env` reference exported as `$env`.
- Updated `packages/ai/src/stream.ts` to remove environment parameter from KeyResolver functions and use global `$env` object instead of passed-in env parameter.
2026-02-05 03:07:40 +01:00
can1357 ec801665bc refactor(env): migrated environment variables from OMP_ to PI_ prefix and centralized access via getEnv()
- Migrated environment variable access from direct process.env to centralized getEnv() utility function across all packages.
- Renamed environment variable prefix from OMP_ to PI_ throughout codebase (e.g., OMP_CODING_AGENT_DIR -> PI_CODING_AGENT_DIR).
- Removed automatic environment variable migration from PI_ to OMP_ prefixes via migrate-env.ts module.
- Removed env setting from configuration schema and applyEnvironmentVariables() method from settings.
- Updated CI/CD build configuration to use PI_COMPILED flag instead of OMP_COMPILED.
- Changed venvPath property in PythonRuntime from nullable (string | null) to optional (string | undefined).
2026-02-05 02:55:01 +01:00
can1357 76cdce7dda refactor: centralized environment variable parsing into @oh-my-pi/pi-utils package
- Extracted environment variable parsing logic from multiple packages into centralized @oh-my-pi/pi-utils package.
- Moved getEnv, getEnvMap, and parseEnvFile functions from local implementations to shared pi-utils/src/env.ts module.
- Updated all imports across ai, coding-agent packages to use getEnv from @oh-my-pi/pi-utils instead of local definitions.
- Replaced direct process.env accesses in azure-openai-responses.ts and openai-responses.ts with centralized getEnv utility calls.
- Implemented EnvScope type and proxy-based environment variable merging to support multiple scopes (global, project, process) with dynamic process.env integration.
- Consolidated environment variable parsing and caching logic into single reusable module with improved testability and abstraction.
2026-02-05 02:16:26 +01:00
can1357 1bdc5f13c1 chore: bump version to 10.6.2 2026-02-05 00:29:15 +01:00
can1357 62f62cf552 chore: bump version to 10.6.1 2026-02-05 00:23:48 +01:00
can1357 21270ee24f chore: bump version to 10.6.0 2026-02-04 23:25:39 +01:00
can1357 927cc77795 chore: bump version to 10.5.0 2026-02-04 12:06:50 +01:00
can1357 8c05a5284e build(deps): migrated to Bun runtime and simplified stream handling
- Migrated from Node.js to Bun runtime by replacing @types/node with @types/bun and bun-types dependencies.
- Downgraded @types/diff from ^8.0.0 to ^7.0.2 in coding-agent package.
- Updated tsconfig.base.json to include DOM.AsyncIterable in lib configuration for async iterable DOM API support.
- Simplified stream handling in update-cli.ts by removing Readable.fromWeb() conversions and using response.body directly with pipeline().
- Simplified TextDecoderStream instantiation in stream.ts to use default parameters instead of explicit UTF-8 encoding configuration.
- Added defensive null/undefined handling in agent-loop.ts result assignment using nullish coalescing operator.
2026-02-04 10:59:20 +01:00
can1357 67cd1509c6 chore(deps): updated SDK dependencies and added Puppeteer tool with stealth modules
- Updated @anthropic-ai/sdk from ^0.71.2 to ^0.72.1 in packages/ai.
- Updated @aws-sdk/client-bedrock-runtime from ^3.975.0 to ^3.982.0 in packages/ai.
- Updated @google/genai from ^1.38.0 to ^1.39.0 in packages/ai.
- Updated @smithy/node-http-handler from ^4.4.8 to ^4.4.9 in packages/ai.
- Updated openai from ^6.16.0 to ^6.17.0 in packages/ai.
- Removed proxy-agent and undici dependencies from packages/ai.
2026-02-04 09:25:45 +01:00
can1357 46d20268e6 chore: bump version to 10.3.2 2026-02-03 22:01:04 +01:00
can1357 8d68b678cc chore: bump version to 10.3.1 2026-02-03 17:47:32 +01:00
can1357 8fde0c2431 chore: bump version to 10.3.0 2026-02-03 13:10:11 +01:00
can1357 c837a5a5eb feat(coding-agent/config): removed shellForceBasic and bash.persistentShell settings
- Removed 'shellForceBasic' setting that forced bash/sh shell selection regardless of default shell configuration.
- Removed 'bash.persistentShell' experimental setting for shell session reuse across commands.
- Simplified shell configuration logic by removing conditional branching in getShellConfig() method.
2026-02-03 11:53:08 +01:00
can1357 799095bea5 chore: bump version to 10.2.3 2026-02-02 15:18:12 +01:00
can1357 118d0218f4 chore: bump version to 10.2.2 2026-02-02 13:40:00 +01:00