@fleetagent/pi-coding-agent 0.0.1 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/core/agent-session.d.ts +32 -7
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +225 -12
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/compaction/branch-summarization.d.ts +2 -2
  7. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  8. package/dist/core/compaction/branch-summarization.js.map +1 -1
  9. package/dist/core/compaction/compaction.d.ts +2 -2
  10. package/dist/core/compaction/compaction.d.ts.map +1 -1
  11. package/dist/core/compaction/compaction.js +1 -1
  12. package/dist/core/compaction/compaction.js.map +1 -1
  13. package/dist/core/extensions/runner.d.ts +3 -3
  14. package/dist/core/extensions/runner.d.ts.map +1 -1
  15. package/dist/core/extensions/runner.js +5 -5
  16. package/dist/core/extensions/runner.js.map +1 -1
  17. package/dist/core/extensions/types.d.ts +15 -8
  18. package/dist/core/extensions/types.d.ts.map +1 -1
  19. package/dist/core/extensions/types.js.map +1 -1
  20. package/dist/core/footer-data-provider.d.ts +1 -1
  21. package/dist/core/footer-data-provider.d.ts.map +1 -1
  22. package/dist/core/footer-data-provider.js +1 -1
  23. package/dist/core/footer-data-provider.js.map +1 -1
  24. package/dist/core/messages.d.ts +1 -0
  25. package/dist/core/messages.d.ts.map +1 -1
  26. package/dist/core/messages.js +4 -0
  27. package/dist/core/messages.js.map +1 -1
  28. package/dist/core/pi-agent.d.ts +5 -3
  29. package/dist/core/pi-agent.d.ts.map +1 -1
  30. package/dist/core/pi-agent.js +64 -18
  31. package/dist/core/pi-agent.js.map +1 -1
  32. package/dist/core/session/in-memory-session-manager.d.ts.map +1 -1
  33. package/dist/core/session/in-memory-session-manager.js +5 -7
  34. package/dist/core/session/in-memory-session-manager.js.map +1 -1
  35. package/dist/core/session/in-memory-session.d.ts +3 -1
  36. package/dist/core/session/in-memory-session.d.ts.map +1 -1
  37. package/dist/core/session/in-memory-session.js +5 -2
  38. package/dist/core/session/in-memory-session.js.map +1 -1
  39. package/dist/core/session/index.d.ts +2 -2
  40. package/dist/core/session/index.d.ts.map +1 -1
  41. package/dist/core/session/index.js.map +1 -1
  42. package/dist/core/session/jsonl-helpers.d.ts.map +1 -1
  43. package/dist/core/session/jsonl-helpers.js +4 -4
  44. package/dist/core/session/jsonl-helpers.js.map +1 -1
  45. package/dist/core/session/local-session-manager.d.ts.map +1 -1
  46. package/dist/core/session/local-session-manager.js +12 -11
  47. package/dist/core/session/local-session-manager.js.map +1 -1
  48. package/dist/core/session/local-session.d.ts +3 -1
  49. package/dist/core/session/local-session.d.ts.map +1 -1
  50. package/dist/core/session/local-session.js +7 -2
  51. package/dist/core/session/local-session.js.map +1 -1
  52. package/dist/core/session/remote-session-client.d.ts +6 -1
  53. package/dist/core/session/remote-session-client.d.ts.map +1 -1
  54. package/dist/core/session/remote-session-client.js.map +1 -1
  55. package/dist/core/session/remote-session-manager.d.ts.map +1 -1
  56. package/dist/core/session/remote-session-manager.js +28 -7
  57. package/dist/core/session/remote-session-manager.js.map +1 -1
  58. package/dist/core/session/remote-session.d.ts +3 -0
  59. package/dist/core/session/remote-session.d.ts.map +1 -1
  60. package/dist/core/session/remote-session.js +4 -1
  61. package/dist/core/session/remote-session.js.map +1 -1
  62. package/dist/core/session/session.d.ts +9 -3
  63. package/dist/core/session/session.d.ts.map +1 -1
  64. package/dist/core/session/session.js +64 -10
  65. package/dist/core/session/session.js.map +1 -1
  66. package/dist/core/session/stores/in-memory-session-store.d.ts +6 -14
  67. package/dist/core/session/stores/in-memory-session-store.d.ts.map +1 -1
  68. package/dist/core/session/stores/in-memory-session-store.js +8 -34
  69. package/dist/core/session/stores/in-memory-session-store.js.map +1 -1
  70. package/dist/core/session/stores/jsonl-session-store.d.ts +14 -14
  71. package/dist/core/session/stores/jsonl-session-store.d.ts.map +1 -1
  72. package/dist/core/session/stores/jsonl-session-store.js +153 -162
  73. package/dist/core/session/stores/jsonl-session-store.js.map +1 -1
  74. package/dist/core/session/stores/remote-session-store.d.ts +4 -6
  75. package/dist/core/session/stores/remote-session-store.d.ts.map +1 -1
  76. package/dist/core/session/stores/remote-session-store.js +18 -30
  77. package/dist/core/session/stores/remote-session-store.js.map +1 -1
  78. package/dist/core/session/stores/session-store.d.ts +1 -15
  79. package/dist/core/session/stores/session-store.d.ts.map +1 -1
  80. package/dist/core/session/stores/session-store.js.map +1 -1
  81. package/dist/core/session-cwd.d.ts +2 -2
  82. package/dist/core/session-cwd.d.ts.map +1 -1
  83. package/dist/core/session-cwd.js +5 -5
  84. package/dist/core/session-cwd.js.map +1 -1
  85. package/dist/index.d.ts +1 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/modes/interactive/interactive-mode.d.ts +1 -1
  89. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  90. package/dist/modes/interactive/interactive-mode.js +39 -37
  91. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  92. package/docs/extensions.md +35 -32
  93. package/docs/index.md +1 -1
  94. package/docs/sdk.md +2 -0
  95. package/docs/session-format.md +21 -21
  96. package/docs/sessions.md +2 -2
  97. package/docs/tui.md +1 -1
  98. package/examples/README.md +3 -0
  99. package/examples/extensions/README.md +1 -1
  100. package/examples/extensions/auto-commit-on-exit.ts +1 -1
  101. package/examples/extensions/bookmark.ts +3 -3
  102. package/examples/extensions/confirm-destructive.ts +1 -1
  103. package/examples/extensions/custom-compaction.ts +1 -1
  104. package/examples/extensions/custom-footer.ts +2 -2
  105. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  106. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  107. package/examples/extensions/git-checkpoint.ts +1 -1
  108. package/examples/extensions/handoff.ts +2 -2
  109. package/examples/extensions/plan-mode/index.ts +1 -1
  110. package/examples/extensions/preset.ts +1 -1
  111. package/examples/extensions/qna.ts +1 -1
  112. package/examples/extensions/sandbox/package.json +1 -1
  113. package/examples/extensions/snake.ts +1 -1
  114. package/examples/extensions/space-invaders.ts +1 -1
  115. package/examples/extensions/summarize.ts +1 -1
  116. package/examples/extensions/tic-tac-toe.ts +1 -1
  117. package/examples/extensions/todo.ts +1 -1
  118. package/examples/extensions/tools.ts +1 -1
  119. package/examples/extensions/with-deps/package.json +1 -1
  120. package/examples/remote-session-server/README.md +66 -0
  121. package/examples/remote-session-server/server.ts +359 -0
  122. package/examples/sdk/11-sessions.ts +3 -3
  123. package/examples/sdk/13-session-runtime.ts +6 -6
  124. package/npm-shrinkwrap.json +12 -12
  125. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.4](https://github.com/fleetagent/pi/compare/@fleetagent/pi-coding-agent-v0.0.3...@fleetagent/pi-coding-agent-v0.0.4) (2026-05-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * **coding-agent:** add structured response extraction ([04fb861](https://github.com/fleetagent/pi/commit/04fb8617bff69c98bc04afaeadbd4782f46e4691))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @fleetagent/pi-agent-core bumped from ^0.0.3 to ^0.0.4
16
+ * @fleetagent/pi-ai bumped from ^0.0.3 to ^0.0.4
17
+ * @fleetagent/pi-tui bumped from ^0.0.3 to ^0.0.4
18
+
19
+ ## [0.0.3](https://github.com/fleetagent/pi/compare/@fleetagent/pi-coding-agent-v0.0.2...@fleetagent/pi-coding-agent-v0.0.3) (2026-05-23)
20
+
21
+
22
+ ### Features
23
+
24
+ * **coding-agent:** add session forking support ([e9c0896](https://github.com/fleetagent/pi/commit/e9c0896ef61863d83029d4f18e929a1e64c7ae22))
25
+
26
+
27
+ ### Dependencies
28
+
29
+ * The following workspace dependencies were updated
30
+ * dependencies
31
+ * @fleetagent/pi-agent-core bumped from ^0.0.2 to ^0.0.3
32
+ * @fleetagent/pi-ai bumped from ^0.0.2 to ^0.0.3
33
+ * @fleetagent/pi-tui bumped from ^0.0.2 to ^0.0.3
34
+
3
35
  ## [0.0.2](https://github.com/fleetagent/pi/compare/@fleetagent/pi-coding-agent-v0.0.1...@fleetagent/pi-coding-agent-v0.0.2) (2026-05-23)
4
36
 
5
37
 
@@ -8,16 +8,17 @@
8
8
  * - Model and thinking level management
9
9
  * - Compaction (manual and auto)
10
10
  * - Bash execution
11
- * - Session switching and branching
11
+ * - Tree navigation and branching
12
12
  *
13
13
  * Modes use this class and add their own I/O layer on top.
14
14
  */
15
15
  import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, ThinkingLevel } from "@fleetagent/pi-agent-core";
16
- import type { ImageContent, Model, TextContent } from "@fleetagent/pi-ai";
16
+ import type { AssistantMessage, ImageContent, Model, TextContent } from "@fleetagent/pi-ai";
17
+ import type { Static, TSchema } from "typebox";
17
18
  import { type BashResult } from "./bash-executor.ts";
18
19
  import { type CompactionResult } from "./compaction/index.ts";
19
20
  import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type ReplacedSessionContext, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.ts";
20
- import type { CustomMessage } from "./messages.ts";
21
+ import { type CustomMessage } from "./messages.ts";
21
22
  import type { ModelRegistry } from "./model-registry.ts";
22
23
  import { type PromptTemplate } from "./prompt-templates.ts";
23
24
  import type { ResourceLoader } from "./resource-loader.ts";
@@ -79,8 +80,7 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
79
80
  export type AgentSessionEventListener = (event: AgentSessionEvent) => void;
80
81
  export interface AgentSessionConfig {
81
82
  agent: Agent;
82
- session?: Session;
83
- sessionManager?: Session;
83
+ session: Session;
84
84
  settingsManager: SettingsManager;
85
85
  cwd: string;
86
86
  /** Models to cycle through with Ctrl+P (from --models flag) */
@@ -132,6 +132,24 @@ export interface PromptOptions {
132
132
  /** Internal hook used by RPC mode to observe prompt preflight acceptance or rejection. */
133
133
  preflightResult?: (success: boolean) => void;
134
134
  }
135
+ export interface StructuredResponseOptions<TSchemaValue extends TSchema> {
136
+ /** TypeBox object schema for the structured response. */
137
+ schema: TSchemaValue;
138
+ /** Schema/tool name shown to the model. Defaults to "structured_output". */
139
+ name?: string;
140
+ /** Optional description for the temporary structured output tool. */
141
+ description?: string;
142
+ /** Maximum correction calls after an invalid response. Defaults to 2. */
143
+ maxCorrections?: number;
144
+ /** Source context for extraction. Defaults to the latest assistant answer. */
145
+ scope?: "latest" | "conversation";
146
+ }
147
+ export interface StructuredResponse<T> {
148
+ output: T;
149
+ attempts: number;
150
+ source: "json" | "tool";
151
+ message: AssistantMessage;
152
+ }
135
153
  /** Result from cycleModel() */
136
154
  export interface ModelCycleResult {
137
155
  model: Model<any>;
@@ -203,7 +221,6 @@ export declare class AgentSession {
203
221
  private _toolPromptGuidelines;
204
222
  private _baseSystemPrompt;
205
223
  private _baseSystemPromptOptions;
206
- get sessionManager(): Session;
207
224
  constructor(config: AgentSessionConfig);
208
225
  /** Model registry for API key resolution and model discovery */
209
226
  get modelRegistry(): ModelRegistry;
@@ -290,7 +307,9 @@ export declare class AgentSession {
290
307
  get steeringMode(): "all" | "one-at-a-time";
291
308
  /** Current follow-up mode */
292
309
  get followUpMode(): "all" | "one-at-a-time";
293
- /** Current session file path, or undefined if sessions are disabled */
310
+ /** Current session reference, or undefined for ephemeral sessions. */
311
+ get sessionReference(): string | undefined;
312
+ /** Current local session file path, or undefined for non-file-backed sessions. Prefer sessionReference for backend-neutral code. */
294
313
  get sessionFile(): string | undefined;
295
314
  /** Current session ID */
296
315
  get sessionId(): string;
@@ -313,6 +332,12 @@ export declare class AgentSession {
313
332
  private _rebuildSystemPrompt;
314
333
  private _runAgentPrompt;
315
334
  private _handlePostAgentRun;
335
+ getStructuredResponse<TSchemaValue extends TSchema>(options: StructuredResponseOptions<TSchemaValue>): Promise<StructuredResponse<Static<TSchemaValue>>>;
336
+ private _buildStructuredResponseMessages;
337
+ private _tryParseStructuredAssistantText;
338
+ private _validateStructuredArguments;
339
+ private _appendStructuredInternalEntry;
340
+ private _formatStructuredAssistantLog;
316
341
  /**
317
342
  * Send a prompt to the agent.
318
343
  * - Handles extension commands (registered via pi.registerCommand) immediately, even during streaming