poe-code 3.0.181 → 3.0.183

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 (187) hide show
  1. package/dist/bin/poe-agent.js +1 -1
  2. package/dist/cli/commands/config.js +3 -4
  3. package/dist/cli/commands/config.js.map +1 -1
  4. package/dist/cli/commands/configure.js +12 -3
  5. package/dist/cli/commands/configure.js.map +1 -1
  6. package/dist/cli/commands/dashboard-loop-shared.d.ts +7 -9
  7. package/dist/cli/commands/dashboard-loop-shared.js +16 -9
  8. package/dist/cli/commands/dashboard-loop-shared.js.map +1 -1
  9. package/dist/cli/commands/experiment.js +41 -32
  10. package/dist/cli/commands/experiment.js.map +1 -1
  11. package/dist/cli/commands/mcp.js +7 -2
  12. package/dist/cli/commands/mcp.js.map +1 -1
  13. package/dist/cli/commands/memory.d.ts +3 -0
  14. package/dist/cli/commands/memory.js +181 -0
  15. package/dist/cli/commands/memory.js.map +1 -0
  16. package/dist/cli/commands/pipeline-init.d.ts +17 -0
  17. package/dist/cli/commands/pipeline-init.js +166 -0
  18. package/dist/cli/commands/pipeline-init.js.map +1 -0
  19. package/dist/cli/commands/pipeline.js +187 -45
  20. package/dist/cli/commands/pipeline.js.map +1 -1
  21. package/dist/cli/commands/plan.d.ts +1 -0
  22. package/dist/cli/commands/plan.js +196 -39
  23. package/dist/cli/commands/plan.js.map +1 -1
  24. package/dist/cli/commands/ralph.js +24 -24
  25. package/dist/cli/commands/ralph.js.map +1 -1
  26. package/dist/cli/commands/shared.d.ts +3 -0
  27. package/dist/cli/commands/shared.js +27 -1
  28. package/dist/cli/commands/shared.js.map +1 -1
  29. package/dist/cli/commands/skill.js +21 -10
  30. package/dist/cli/commands/skill.js.map +1 -1
  31. package/dist/cli/commands/spawn-poe-agent.d.ts +2 -0
  32. package/dist/cli/commands/spawn-poe-agent.js +47 -0
  33. package/dist/cli/commands/spawn-poe-agent.js.map +1 -0
  34. package/dist/cli/commands/spawn.js +21 -1
  35. package/dist/cli/commands/spawn.js.map +1 -1
  36. package/dist/cli/commands/utils-symlink-agents.d.ts +6 -0
  37. package/dist/cli/commands/utils-symlink-agents.js +78 -0
  38. package/dist/cli/commands/utils-symlink-agents.js.map +1 -0
  39. package/dist/cli/commands/utils-symlink-ops.d.ts +29 -0
  40. package/dist/cli/commands/utils-symlink-ops.js +76 -0
  41. package/dist/cli/commands/utils-symlink-ops.js.map +1 -0
  42. package/dist/cli/commands/utils-symlink-skills.d.ts +15 -0
  43. package/dist/cli/commands/utils-symlink-skills.js +136 -0
  44. package/dist/cli/commands/utils-symlink-skills.js.map +1 -0
  45. package/dist/cli/commands/utils-symlink.d.ts +3 -0
  46. package/dist/cli/commands/utils-symlink.js +40 -0
  47. package/dist/cli/commands/utils-symlink.js.map +1 -0
  48. package/dist/cli/commands/utils.js +2 -0
  49. package/dist/cli/commands/utils.js.map +1 -1
  50. package/dist/cli/constants.d.ts +2 -2
  51. package/dist/cli/constants.js +1 -1
  52. package/dist/cli/constants.js.map +1 -1
  53. package/dist/cli/poe-agent-main.d.ts +10 -1
  54. package/dist/cli/poe-agent-main.js +89 -47
  55. package/dist/cli/poe-agent-main.js.map +1 -1
  56. package/dist/cli/program.js +13 -1
  57. package/dist/cli/program.js.map +1 -1
  58. package/dist/corpus/001-archaeoastronomy.md +479 -0
  59. package/dist/corpus/002-magnetohydrodynamics.md +475 -0
  60. package/dist/corpus/003-biosemiotics.md +483 -0
  61. package/dist/corpus/004-cryopedology.md +483 -0
  62. package/dist/corpus/005-geomicrobiology.md +479 -0
  63. package/dist/corpus/006-aeronomy.md +487 -0
  64. package/dist/corpus/007-paleoclimatology.md +479 -0
  65. package/dist/corpus/008-hydrogeophysics.md +479 -0
  66. package/dist/corpus/009-magnetostratigraphy.md +475 -0
  67. package/dist/corpus/010-isotope-hydrology.md +481 -0
  68. package/dist/corpus/011-speleothem-geochemistry.md +474 -0
  69. package/dist/corpus/012-astrobiogeochemistry.md +475 -0
  70. package/dist/corpus/013-neuroethology.md +483 -0
  71. package/dist/corpus/014-chronophysiology.md +483 -0
  72. package/dist/corpus/015-limnogeochemistry.md +475 -0
  73. package/dist/corpus/016-palynology.md +483 -0
  74. package/dist/corpus/017-volcanotectonics.md +473 -0
  75. package/dist/corpus/018-seismotectonics.md +473 -0
  76. package/dist/corpus/019-biogeomorphology.md +475 -0
  77. package/dist/corpus/020-geobiophysics.md +479 -0
  78. package/dist/corpus/021-phytolith-analysis.md +481 -0
  79. package/dist/corpus/022-archaeometallurgy.md +479 -0
  80. package/dist/corpus/023-paleomagnetism.md +479 -0
  81. package/dist/corpus/024-biocalorimetry.md +475 -0
  82. package/dist/corpus/025-atmospheric-chemiluminescence.md +473 -0
  83. package/dist/corpus/026-cryoseismology.md +479 -0
  84. package/dist/corpus/027-extremophile-radiobiology.md +475 -0
  85. package/dist/corpus/028-heliophysics.md +479 -0
  86. package/dist/corpus/029-astroparticle-geophysics.md +474 -0
  87. package/dist/corpus/030-glaciohydrology.md +479 -0
  88. package/dist/corpus/031-permafrost-microbiology.md +477 -0
  89. package/dist/corpus/032-ecoacoustics.md +479 -0
  90. package/dist/corpus/033-dendroclimatology.md +473 -0
  91. package/dist/corpus/034-ionospheric-tomography.md +477 -0
  92. package/dist/corpus/035-marine-geodesy.md +481 -0
  93. package/dist/corpus/036-sedimentary-ancient-dna.md +481 -0
  94. package/dist/corpus/037-myrmecochory-dynamics.md +474 -0
  95. package/dist/corpus/038-chemosensory-ecology.md +477 -0
  96. package/dist/corpus/039-spintronics-materials.md +479 -0
  97. package/dist/corpus/040-nanotoxicology.md +483 -0
  98. package/dist/corpus/041-cosmochemistry.md +483 -0
  99. package/dist/corpus/042-quaternary-geochronology.md +471 -0
  100. package/dist/corpus/043-biophotonics.md +479 -0
  101. package/dist/corpus/044-evolutionary-morphometrics.md +481 -0
  102. package/dist/corpus/045-cryovolcanology.md +475 -0
  103. package/dist/corpus/046-exoplanet-atmospheric-dynamics.md +479 -0
  104. package/dist/corpus/047-microbial-electrosynthesis.md +477 -0
  105. package/dist/corpus/048-paleoseismology.md +479 -0
  106. package/dist/corpus/049-actinide-geochemistry.md +477 -0
  107. package/dist/corpus/050-quantum-biology.md +489 -0
  108. package/dist/index.d.ts +3 -2
  109. package/dist/index.js +31666 -23440
  110. package/dist/index.js.map +4 -4
  111. package/dist/plan/document-schema.d.ts +21 -0
  112. package/dist/plan/document-schema.js +16 -0
  113. package/dist/plan/document-schema.js.map +1 -0
  114. package/dist/providers/claude-code.js +31 -13
  115. package/dist/providers/claude-code.js.map +4 -4
  116. package/dist/providers/codex.js +31 -13
  117. package/dist/providers/codex.js.map +4 -4
  118. package/dist/providers/goose.js +32 -14
  119. package/dist/providers/goose.js.map +4 -4
  120. package/dist/providers/kimi.js +31 -13
  121. package/dist/providers/kimi.js.map +4 -4
  122. package/dist/providers/opencode.js +32 -14
  123. package/dist/providers/opencode.js.map +4 -4
  124. package/dist/providers/poe-agent.d.ts +5 -0
  125. package/dist/providers/poe-agent.js +21214 -4016
  126. package/dist/providers/poe-agent.js.map +4 -4
  127. package/dist/sdk/container.js +4 -0
  128. package/dist/sdk/container.js.map +1 -1
  129. package/dist/sdk/pipeline.d.ts +27 -0
  130. package/dist/sdk/pipeline.js +91 -1
  131. package/dist/sdk/pipeline.js.map +1 -1
  132. package/dist/sdk/spawn.js +8 -2
  133. package/dist/sdk/spawn.js.map +1 -1
  134. package/dist/sdk/types.d.ts +5 -1
  135. package/dist/services/config.d.ts +47 -33
  136. package/dist/services/config.js +22 -20
  137. package/dist/services/config.js.map +1 -1
  138. package/dist/templates/pipeline/SKILL_plan.md +22 -8
  139. package/dist/templates/pipeline/steps.yaml.mustache +1 -1
  140. package/dist/templates/skill/poe-generate.md +47 -0
  141. package/dist/templates/skill/terminal-pilot.md +45 -0
  142. package/dist/utils/dry-run.d.ts +8 -0
  143. package/dist/utils/dry-run.js +16 -0
  144. package/dist/utils/dry-run.js.map +1 -1
  145. package/dist/utils/file-system.d.ts +4 -0
  146. package/package.json +19 -9
  147. package/packages/cmdkit/dist/cli.js +42 -22
  148. package/packages/cmdkit/dist/cli.js.map +3 -3
  149. package/packages/cmdkit/dist/index.js +52 -9
  150. package/packages/cmdkit/dist/index.js.map +2 -2
  151. package/packages/cmdkit/dist/mcp.d.ts +15 -0
  152. package/packages/cmdkit/dist/mcp.js +121 -20
  153. package/packages/cmdkit/dist/mcp.js.map +3 -3
  154. package/packages/cmdkit/dist/number-schema.d.ts +3 -0
  155. package/packages/cmdkit/dist/number-schema.js +8 -0
  156. package/packages/cmdkit/dist/schema-scope.d.ts +4 -0
  157. package/packages/cmdkit/dist/schema-scope.js +34 -0
  158. package/packages/cmdkit/dist/sdk.js +58 -3
  159. package/packages/cmdkit/dist/sdk.js.map +3 -3
  160. package/packages/cmdkit-schema/dist/index.compile-check.js +1 -0
  161. package/packages/cmdkit-schema/dist/index.d.ts +59 -16
  162. package/packages/cmdkit-schema/dist/index.js +53 -8
  163. package/packages/design-system/dist/dashboard/components/footer.js +2 -3
  164. package/packages/design-system/dist/dashboard/components/output-pane.d.ts +1 -10
  165. package/packages/design-system/dist/dashboard/components/output-pane.js +5 -74
  166. package/packages/design-system/dist/dashboard/dashboard.js +6 -26
  167. package/packages/design-system/dist/dashboard/index.d.ts +1 -0
  168. package/packages/design-system/dist/dashboard/index.js +1 -0
  169. package/packages/design-system/dist/dashboard/keymap.js +4 -19
  170. package/packages/design-system/dist/dashboard/should-use-dashboard.d.ts +10 -0
  171. package/packages/design-system/dist/dashboard/should-use-dashboard.js +7 -0
  172. package/packages/design-system/dist/dashboard/snapshot.js +1 -5
  173. package/packages/design-system/dist/dashboard/store.d.ts +1 -2
  174. package/packages/design-system/dist/dashboard/store.js +6 -62
  175. package/packages/design-system/dist/dashboard/terminal.d.ts +2 -0
  176. package/packages/design-system/dist/dashboard/terminal.js +18 -0
  177. package/packages/design-system/dist/dashboard/types.d.ts +1 -11
  178. package/packages/design-system/dist/index.d.ts +1 -1
  179. package/packages/design-system/dist/index.js +1 -1
  180. package/packages/design-system/dist/terminal-markdown/ast.d.ts +10 -2
  181. package/packages/design-system/dist/terminal-markdown/parser/block.d.ts +2 -1
  182. package/packages/design-system/dist/terminal-markdown/parser/block.js +400 -110
  183. package/packages/design-system/dist/terminal-markdown/parser/frontmatter.d.ts +2 -0
  184. package/packages/design-system/dist/terminal-markdown/parser/frontmatter.js +28 -11
  185. package/packages/design-system/dist/terminal-markdown/parser/inline.d.ts +4 -0
  186. package/packages/design-system/dist/terminal-markdown/parser/inline.js +134 -55
  187. package/packages/design-system/dist/terminal-markdown/parser.js +36 -7
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: poe-code-pipeline-plan
3
- description: 'Generate a Pipeline plan (YAML) from a user request. Triggers on: create a pipeline plan, write plan for, plan this feature, pipeline plan.'
3
+ description: 'Generate a Pipeline plan markdown file with YAML frontmatter from a user request. Triggers on: create a pipeline plan, write plan for, plan this feature, pipeline plan.'
4
4
  ---
5
5
 
6
6
  ## If The Request Is Empty
@@ -9,15 +9,14 @@ Ask the user for a one-sentence description of what they want to build.
9
9
 
10
10
  ## Goal
11
11
 
12
- Write a YAML pipeline plan. Before writing, determine where to place it:
12
+ Write a markdown pipeline plan with YAML frontmatter. Before writing, determine where to place it:
13
13
 
14
- 1. Run `poe-code pipeline plan-path` to get the plans directory.
15
- 2. Write the plan to `<plan-path>/plan-<name>.yaml`. If the plan path is under the global `~/.poe-code` directory, prefix the filename with the project name: `plan-<project>-<name>.yaml`.
16
- 3. Find the `steps.yaml` file. Check these locations in order and use the first one found:
14
+ 1. Write the plan to `docs/plans/plan-<name>.md` by default.
15
+ 2. Find the `steps.yaml` file. Check these locations in order and use the first one found:
17
16
  a. `<project-root>/.poe-code/pipeline/steps.yaml` (project-level)
18
17
  b. `~/.poe-code/pipeline/steps.yaml` (user-global)
19
18
  If found, read it to determine available steps and note any `setup`/`teardown` hooks defined there. If not found in either location, use stepless tasks.
20
- 4. If the user has an existing Markdown plan document (e.g. in `docs/plans/`), link it via `vars` so it is available in every prompt without repeating the path.
19
+ 3. Decide what belongs in the markdown body. If the user already has a Markdown design/context doc (for example in `docs/plans/`), use that content as the plan body when it makes sense. If they want to keep the source doc separate, link it via `vars` so it is available in every prompt without repeating the path.
21
20
 
22
21
  ## Rules
23
22
 
@@ -31,13 +30,21 @@ Write a YAML pipeline plan. Before writing, determine where to place it:
31
30
  - `setup` and `teardown` defined in `steps.yaml` are inherited automatically.
32
31
  - To disable an inherited hook for a specific plan, set `setup: false` or `teardown: false`.
33
32
  - To override an inherited hook, define the full block with an `prompt` field.
34
- - If the user has an existing Markdown plan document, add a `vars` block with a `plan_doc` key pointing to the file path. The pipeline runtime reads the file and makes its contents available as a named placeholder in every prompt.
33
+ - If the user keeps an existing Markdown plan document as a separate file, add a `vars` block with a `plan_doc` key pointing to the file path. The pipeline runtime reads the file and makes its contents available as a named placeholder in every prompt.
35
34
  - `vars` values are plain strings. Use the `file` include syntax inside a value to load a file at runtime (path relative to project root): write `var_name: "` followed by the file include tag and a closing `"`.
36
35
  - Each var name becomes a double-curly-brace placeholder usable in any task, step, setup, or teardown prompt.
36
+ - The markdown body is for context, notes, acceptance criteria, or the design doc. Keep executable pipeline config in the YAML frontmatter.
37
+ - Do not rely on the body alone for runtime context. Each task prompt must still include everything it needs directly or via `vars` placeholders.
38
+ - Start the frontmatter with canonical metadata: `$schema: https://poe-platform.github.io/poe-code/schemas/plans/pipeline.schema.json`, `kind: pipeline`, and `version: 1`.
37
39
 
38
40
  ## Output Format
39
41
 
40
- ```yaml
42
+ ```markdown
43
+ ---
44
+ $schema: https://poe-platform.github.io/poe-code/schemas/plans/pipeline.schema.json
45
+ kind: pipeline
46
+ version: 1
47
+
41
48
  # vars: optional. Define named values available as double-curly-brace placeholders in every prompt.
42
49
  # Each value is a plain string. To load a file at runtime, write the value using the
43
50
  # file include syntax: double-curly-brace file followed by a quoted path.
@@ -69,6 +76,13 @@ tasks:
69
76
  # implement: open
70
77
  # test: open
71
78
  # commit: open
79
+ ---
80
+
81
+ # Context
82
+
83
+ Paste the design doc, notes, acceptance criteria, or implementation details here.
84
+ This body is for human-readable context and future tooling.
85
+ Any context needed at runtime must still appear in each task prompt or via vars placeholders.
72
86
  ```
73
87
 
74
88
  ## After Writing
@@ -6,7 +6,7 @@
6
6
  # Use {{file 'path'}} in any prompt to inline the contents of a Markdown file (relative to project root).
7
7
  #
8
8
  # Optional: setup runs once before any tasks, teardown runs once after all complete.
9
- # These can also be defined in plan.yaml to override the defaults below.
9
+ # These can also be defined in plan.md to override the defaults below.
10
10
  #
11
11
  # setup:
12
12
  # prompt: Prepare the workspace
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: poe-generate
3
+ description: 'Poe code generation skill'
4
+ ---
5
+
6
+ # poe-code generate
7
+
8
+ Use `poe-code generate` to create text, images, audio, or video via the Poe API.
9
+
10
+ ## Text generation
11
+
12
+ ```bash
13
+ poe-code generate "Write a short function that parses a JSON string safely."
14
+ ```
15
+
16
+ Specify the model/bot:
17
+
18
+ ```bash
19
+ # CLI option
20
+ poe-code generate --model "gpt-4.1" "Summarize this codebase change."
21
+
22
+ # Some agent runtimes call the model selector `--bot`
23
+ poe-code generate --bot "gpt-4.1" "Summarize this codebase change."
24
+ ```
25
+
26
+ ## Media generation
27
+
28
+ The CLI supports media generation as subcommands:
29
+
30
+ ```bash
31
+ poe-code generate image "A 3D render of a rubber duck wearing sunglasses" --model "gpt-image-1" -o duck.png
32
+ poe-code generate video "A cinematic timelapse of a city at night" --model "veo" -o city.mp4
33
+ poe-code generate audio "A calm 10 second lo-fi beat" --model "audio-model" -o beat.wav
34
+ ```
35
+
36
+ Some agent runtimes expose the same media types as flags. If available, these are equivalent:
37
+
38
+ ```bash
39
+ poe-code generate --image "A 3D render of a rubber duck wearing sunglasses" --bot "gpt-image-1" -o duck.png
40
+ poe-code generate --video "A cinematic timelapse of a city at night" --bot "veo" -o city.mp4
41
+ poe-code generate --audio "A calm 10 second lo-fi beat" --bot "audio-model" -o beat.wav
42
+ ```
43
+
44
+ ## Tips
45
+
46
+ - Use `--param key=value` to pass provider/model parameters (repeatable).
47
+ - Use `--output <path>` (or `-o`) for media outputs.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: terminal-pilot
3
+ description: 'Terminal automation skill using the terminal-pilot CLI'
4
+ ---
5
+
6
+ # Terminal Pilot
7
+
8
+ Use the `terminal-pilot` CLI when you need to automate or inspect interactive
9
+ CLI applications through a real PTY session.
10
+
11
+ ## Commands
12
+
13
+ - `terminal-pilot create-session` - start a PTY-backed command
14
+ - `terminal-pilot fill` - paste text into a session
15
+ - `terminal-pilot type` - type character-by-character for TUIs and readline
16
+ - `terminal-pilot press-key` - send named keys such as `Enter` or `ArrowDown`
17
+ - `terminal-pilot wait-for` - wait for terminal output to match a pattern
18
+ - `terminal-pilot wait-for-exit` - block until a session exits
19
+ - `terminal-pilot read-screen` - inspect the current visible terminal screen
20
+ - `terminal-pilot read-history` - read scrollback output
21
+ - `terminal-pilot list-sessions` - list active sessions
22
+ - `terminal-pilot close-session` - close a session and return its exit code
23
+
24
+ ## Examples
25
+
26
+ ```bash
27
+ terminal-pilot --help
28
+ terminal-pilot create-session --help
29
+ terminal-pilot read-screen --help
30
+ ```
31
+
32
+ Use JSON output when another tool or script needs to read the result:
33
+
34
+ ```bash
35
+ terminal-pilot list-sessions --output json
36
+ terminal-pilot read-screen --session s1 --output json
37
+ ```
38
+
39
+ ## Tips
40
+
41
+ - Use `fill` for pasted text and multi-line input.
42
+ - Use `type` when the app reacts to individual keystrokes.
43
+ - Use `press-key` for Enter, Tab, arrow keys, Escape, and control-key chords.
44
+ - Use `wait-for --literal` for exact string matching.
45
+ - Default terminal size is 120x40.
@@ -28,6 +28,14 @@ export type DryRunOperation = {
28
28
  type: "chmod";
29
29
  path: string;
30
30
  mode: number;
31
+ } | {
32
+ type: "symlink";
33
+ target: string;
34
+ path: string;
35
+ } | {
36
+ type: "rename";
37
+ from: string;
38
+ to: string;
31
39
  };
32
40
  export declare class DryRunRecorder {
33
41
  private operations;
@@ -36,12 +36,24 @@ export function createDryRunFileSystem(base, recorder) {
36
36
  previousContent
37
37
  });
38
38
  },
39
+ async symlink(target, path) {
40
+ recorder.record({ type: "symlink", target, path });
41
+ },
42
+ async readlink(path) {
43
+ return base.readlink(path);
44
+ },
39
45
  async mkdir(path, options) {
40
46
  recorder.record({ type: "mkdir", path, options });
41
47
  },
42
48
  async stat(path) {
43
49
  return base.stat(path);
44
50
  },
51
+ async lstat(path) {
52
+ return base.lstat(path);
53
+ },
54
+ async rename(from, to) {
55
+ recorder.record({ type: "rename", from, to });
56
+ },
45
57
  async unlink(path) {
46
58
  recorder.record({ type: "unlink", path });
47
59
  },
@@ -113,6 +125,10 @@ function formatOperation(operation) {
113
125
  const mode = operation.mode.toString(8);
114
126
  return renderOperationCommand(`chmod ${mode} ${operation.path}`, chalk.cyan, "# permissions");
115
127
  }
128
+ case "symlink":
129
+ return renderOperationCommand(`ln -s ${operation.target} ${operation.path}`, chalk.cyan, "# symlink");
130
+ case "rename":
131
+ return renderOperationCommand(`mv ${operation.from} ${operation.to}`, chalk.cyan, "# rename");
116
132
  case "writeFile": {
117
133
  return renderWriteOperation(operation);
118
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../src/utils/dry-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../src/utils/dry-run.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import type { Stats } from "node:fs";
2
2
  export interface FileSystem {
3
3
  readFile(path: string, encoding: BufferEncoding): Promise<string>;
4
4
  readFile(path: string): Promise<Buffer>;
5
+ symlink(target: string, path: string): Promise<void>;
6
+ readlink(path: string): Promise<string>;
5
7
  writeFile(path: string, data: string | NodeJS.ArrayBufferView, options?: {
6
8
  encoding?: BufferEncoding;
7
9
  }): Promise<void>;
@@ -9,6 +11,8 @@ export interface FileSystem {
9
11
  recursive?: boolean;
10
12
  }): Promise<void>;
11
13
  stat(path: string): Promise<Stats>;
14
+ lstat(path: string): Promise<Stats>;
15
+ rename(oldPath: string, newPath: string): Promise<void>;
12
16
  rm?(path: string, options?: {
13
17
  recursive?: boolean;
14
18
  force?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-code",
3
- "version": "3.0.181",
3
+ "version": "3.0.183",
4
4
  "description": "CLI tool to configure Poe API for developer workflows.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -31,16 +31,16 @@
31
31
  "packages/*"
32
32
  ],
33
33
  "scripts": {
34
- "build": "turbo run build && npm run codegen:python-types && tsc -p tsconfig.build.json && node scripts/generate-bin-wrappers.mjs && node scripts/bundle.mjs",
34
+ "build": "turbo run build && npm run codegen:plan-schemas && npm run codegen:python-types && tsc -p tsconfig.build.json && node scripts/generate-bin-wrappers.mjs && node scripts/bundle.mjs",
35
35
  "build:deps": "node scripts/list-workspace-deps.mjs",
36
36
  "codegen:python-types": "tsx scripts/generate-agent-spawn-py-types.ts",
37
37
  "codegen:check:python-types": "tsx scripts/generate-agent-spawn-py-types.ts --check",
38
38
  "install:py-poe-spawn": "pip install -e packages/py-poe-spawn",
39
- "predev": "turbo run build --output-logs=none --log-prefix=none --verbosity=0 > /dev/null 2>&1",
39
+ "predev": "turbo run build --output-logs=errors-only --log-prefix=none --verbosity=0",
40
40
  "dev": "tsx --import ./scripts/register-template-loader.mjs src/index.ts",
41
41
  "start": "node dist/bin.cjs",
42
42
  "dev:bundle": "npm run build && node dist/bin.cjs",
43
- "test": "turbo run test:unit --concurrency=4",
43
+ "test": "turbo run test:unit --concurrency=4 --",
44
44
  "test:unit": "vitest run",
45
45
  "typecheck": "npm run lint:types",
46
46
  "check:semver": "node -e \"const semver=require('semver'); const pkg=require('./package.json'); if(!semver.valid(pkg.version)){console.error('Invalid semver version in package.json:', pkg.version); process.exit(1);}\"",
@@ -82,7 +82,8 @@
82
82
  "metric:test_count": "node scripts/metric-test-count.mjs",
83
83
  "metric:test_duration": "node scripts/metric-test-duration.mjs",
84
84
  "demo:dashboard": "tsx packages/design-system/src/dashboard/demo.ts",
85
- "replay": "tsx packages/agent-spawn/src/acp/replay-cli.ts"
85
+ "replay": "tsx packages/agent-spawn/src/acp/replay-cli.ts",
86
+ "codegen:plan-schemas": "tsx scripts/generate-plan-schemas.ts"
86
87
  },
87
88
  "bin": {
88
89
  "poe": "dist/bin.cjs",
@@ -111,12 +112,17 @@
111
112
  "commander": "^14.0.3",
112
113
  "console-table-printer": "^2.15.0",
113
114
  "diff": ">=8.0.3",
115
+ "fast-glob": "^3.3.3",
114
116
  "gray-matter": "^4.0.3",
115
117
  "jsonc-parser": "^3.3.1",
116
118
  "mustache": "^4.2.0",
119
+ "openai": "^6.34.0",
117
120
  "parse-duration": "^2.1.5",
118
121
  "semver": "^7.7.4",
122
+ "shell-quote": "^1.8.3",
119
123
  "smol-toml": "^1.6.0",
124
+ "tiktoken": "^1.0.22",
125
+ "turndown": "^7.2.4",
120
126
  "yaml": "^2.8.2"
121
127
  },
122
128
  "devDependencies": {
@@ -129,14 +135,18 @@
129
135
  "@poe-code/agent-spawn": "*",
130
136
  "@poe-code/cached-resource": "*",
131
137
  "@poe-code/cmdkit": "*",
138
+ "@poe-code/cmdkit-openapi": "*",
132
139
  "@poe-code/cmdkit-schema": "*",
133
140
  "@poe-code/config-extends": "*",
134
141
  "@poe-code/config-mutations": "*",
135
142
  "@poe-code/design-system": "*",
143
+ "@poe-code/e2e-test-runner": "*",
136
144
  "@poe-code/experiment-loop": "*",
137
145
  "@poe-code/github-workflows": "*",
138
- "@poe-code/plan-browser": "*",
146
+ "@poe-code/markdown-reader": "*",
147
+ "@poe-code/memory": "*",
139
148
  "@poe-code/pipeline": "*",
149
+ "@poe-code/plan-browser": "*",
140
150
  "@poe-code/poe-acp-client": "*",
141
151
  "@poe-code/poe-agent": "*",
142
152
  "@poe-code/poe-code-config": "*",
@@ -144,11 +154,12 @@
144
154
  "@poe-code/process-runner": "*",
145
155
  "@poe-code/ralph": "*",
146
156
  "@poe-code/superintendent": "*",
147
- "@poe-code/worktree": "*",
148
157
  "@poe-code/workspace-resolver": "*",
158
+ "@poe-code/worktree": "*",
149
159
  "@types/mustache": "^4.2.6",
150
160
  "@types/node": "^25.2.2",
151
161
  "@types/semver": "^7.7.1",
162
+ "@vitest/coverage-v8": "^4.1.4",
152
163
  "auth-store": "*",
153
164
  "bats": "^1.13.0",
154
165
  "eslint": "^9.0.0",
@@ -172,8 +183,7 @@
172
183
  "turbo": "^2.8.3",
173
184
  "typescript": "^5.9.3",
174
185
  "typescript-eslint": "^8.54.0",
175
- "vitest": "^4.0.18",
176
- "@poe-code/e2e-test-runner": "*"
186
+ "vitest": "^4.0.18"
177
187
  },
178
188
  "repository": {
179
189
  "type": "git",
@@ -868,6 +868,14 @@ function getCommandSourcePath(command) {
868
868
  return command[commandSourcePathSymbol];
869
869
  }
870
870
 
871
+ // packages/cmdkit/src/number-schema.ts
872
+ function isValidNumberSchemaValue(value, schema) {
873
+ return typeof value === "number" && Number.isFinite(value) && (schema.jsonType !== "integer" || Number.isInteger(value));
874
+ }
875
+ function getExpectedNumberDescription(schema) {
876
+ return schema.jsonType === "integer" ? "an integer" : "a number";
877
+ }
878
+
871
879
  // packages/cmdkit/src/renderer.ts
872
880
  function isObject(value) {
873
881
  return value !== null && typeof value === "object" && !Array.isArray(value);
@@ -1218,8 +1226,10 @@ function parseScalarValue(value, schema, label) {
1218
1226
  return value;
1219
1227
  case "number": {
1220
1228
  const parsed = Number(value);
1221
- if (!Number.isFinite(parsed)) {
1222
- throw new InvalidArgumentError(`Invalid value for "${label}". Expected a number.`);
1229
+ if (!isValidNumberSchemaValue(parsed, schema)) {
1230
+ throw new InvalidArgumentError(
1231
+ `Invalid value for "${label}". Expected ${getExpectedNumberDescription(schema)}.`
1232
+ );
1223
1233
  }
1224
1234
  return parsed;
1225
1235
  }
@@ -1673,20 +1683,22 @@ async function promptForField(field) {
1673
1683
  }
1674
1684
  return parseScalarValue(entered, field.schema, field.displayPath);
1675
1685
  }
1676
- function resolveOutput(globalFlags) {
1677
- if (globalFlags.output !== void 0) {
1678
- return globalFlags.output;
1686
+ function resolveOutput(resolvedFlags) {
1687
+ if (resolvedFlags.json === true) {
1688
+ return "json";
1689
+ }
1690
+ if (resolvedFlags.output !== void 0) {
1691
+ return resolvedFlags.output;
1679
1692
  }
1680
1693
  return "rich";
1681
1694
  }
1695
+ var DESIGN_SYSTEM_OUTPUT_BY_MODE = {
1696
+ rich: "terminal",
1697
+ md: "markdown",
1698
+ json: "json"
1699
+ };
1682
1700
  function toDesignSystemOutput(output) {
1683
- if (output === "md") {
1684
- return "markdown";
1685
- }
1686
- if (output === "json") {
1687
- return "json";
1688
- }
1689
- return "terminal";
1701
+ return DESIGN_SYSTEM_OUTPUT_BY_MODE[output];
1690
1702
  }
1691
1703
  async function withOutputFormat2(output, fn) {
1692
1704
  const previous = process.env.OUTPUT_FORMAT;
@@ -1695,7 +1707,11 @@ async function withOutputFormat2(output, fn) {
1695
1707
  try {
1696
1708
  return await fn();
1697
1709
  } finally {
1698
- process.env.OUTPUT_FORMAT = previous;
1710
+ if (previous === void 0) {
1711
+ delete process.env.OUTPUT_FORMAT;
1712
+ } else {
1713
+ process.env.OUTPUT_FORMAT = previous;
1714
+ }
1699
1715
  resetOutputFormatCache();
1700
1716
  }
1701
1717
  }
@@ -1743,6 +1759,9 @@ function describeExpectedPresetValue(schema) {
1743
1759
  return `a ${schema.kind}`;
1744
1760
  }
1745
1761
  function validatePresetScalarValue(value, schema, fieldPath, presetPath) {
1762
+ if (value === null && schema.nullable === true) {
1763
+ return null;
1764
+ }
1746
1765
  switch (schema.kind) {
1747
1766
  case "string":
1748
1767
  if (typeof value !== "string") {
@@ -1750,7 +1769,7 @@ function validatePresetScalarValue(value, schema, fieldPath, presetPath) {
1750
1769
  }
1751
1770
  return value;
1752
1771
  case "number":
1753
- if (typeof value !== "number" || !Number.isFinite(value)) {
1772
+ if (!isValidNumberSchemaValue(value, schema)) {
1754
1773
  break;
1755
1774
  }
1756
1775
  return value;
@@ -2168,7 +2187,7 @@ async function resolveParams(fields, positionalValues, optionValues, presetPath,
2168
2187
  }
2169
2188
  return params;
2170
2189
  }
2171
- function getGlobalFlags(command) {
2190
+ function getResolvedFlags(command) {
2172
2191
  const flags = command.optsWithGlobals();
2173
2192
  return flags;
2174
2193
  }
@@ -2180,9 +2199,10 @@ async function executeCommand(state, services, requirementOptions) {
2180
2199
  getTheme,
2181
2200
  note
2182
2201
  };
2183
- const globalFlags = getGlobalFlags(state.actionCommand);
2184
- const output = resolveOutput(globalFlags);
2185
- const shouldPrompt = !globalFlags.yes && Boolean(process.stdin.isTTY);
2202
+ const optionValues = state.actionCommand.optsWithGlobals();
2203
+ const resolvedFlags = optionValues;
2204
+ const output = resolveOutput(resolvedFlags);
2205
+ const shouldPrompt = !resolvedFlags.yes && Boolean(process.stdin.isTTY);
2186
2206
  const runtime = await resolveFixtureRuntime(state.command, services, requirementOptions);
2187
2207
  const preflightContext = {
2188
2208
  ...runtime.services,
@@ -2199,15 +2219,15 @@ async function executeCommand(state, services, requirementOptions) {
2199
2219
  const params = await resolveParams(
2200
2220
  state.fields,
2201
2221
  state.positionalValues,
2202
- state.actionCommand.optsWithGlobals(),
2203
- globalFlags.preset,
2222
+ optionValues,
2223
+ resolvedFlags.preset,
2204
2224
  shouldPrompt
2205
2225
  );
2206
2226
  const context = {
2207
2227
  ...preflightContext,
2208
2228
  params
2209
2229
  };
2210
- if (state.command.confirm && !globalFlags.yes && process.stdin.isTTY) {
2230
+ if (state.command.confirm && !resolvedFlags.yes && process.stdin.isTTY) {
2211
2231
  for (const field of state.fields) {
2212
2232
  const value = field.path.reduce(
2213
2233
  (current, segment) => current && typeof current === "object" ? current[segment] : void 0,
@@ -2283,7 +2303,7 @@ async function runCLI(roots, options = {}) {
2283
2303
  try {
2284
2304
  await executeCommand(state, services, requirementOptions);
2285
2305
  } catch (error2) {
2286
- handleRunError(error2, Boolean(getGlobalFlags(state.actionCommand).verbose));
2306
+ handleRunError(error2, Boolean(getResolvedFlags(state.actionCommand).verbose));
2287
2307
  }
2288
2308
  };
2289
2309
  for (const child of root.children) {