pi-openai-toolkit 0.21.1 → 0.22.0

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 (42) hide show
  1. package/LICENSE +21 -21
  2. package/NOTICE +83 -83
  3. package/README.md +8 -0
  4. package/README.zh.md +8 -0
  5. package/config.schema.json +278 -278
  6. package/docs/configuration.md +298 -298
  7. package/docs/internals.md +181 -166
  8. package/package.json +5 -1
  9. package/src/codex-fast/extension.ts +119 -0
  10. package/src/codex-fast/payload.ts +36 -0
  11. package/src/codex-fast/state.ts +25 -0
  12. package/src/compact-client.ts +412 -412
  13. package/src/compaction-projection.ts +35 -35
  14. package/src/config/migration.ts +103 -103
  15. package/src/config.ts +310 -310
  16. package/src/context-management/codex-provider.ts +270 -270
  17. package/src/context-management/history-notes.ts +357 -357
  18. package/src/context-management/tools.ts +371 -371
  19. package/src/context-management/types.ts +168 -168
  20. package/src/context-management/window-manager.ts +801 -801
  21. package/src/debug.ts +238 -238
  22. package/src/deferred-tool-carryover.ts +282 -282
  23. package/src/details-store.ts +151 -151
  24. package/src/extension-runtime.ts +1662 -1662
  25. package/src/image-generation/extension.ts +189 -189
  26. package/src/image-generation/protocol.ts +579 -579
  27. package/src/image-generation/types.ts +300 -300
  28. package/src/payload-rewrite.ts +515 -515
  29. package/src/pi-context-hook.ts +117 -117
  30. package/src/remote-v2-client.ts +811 -811
  31. package/src/request-context-cache.ts +155 -155
  32. package/src/responses-headers.ts +180 -180
  33. package/src/runtime.ts +865 -865
  34. package/src/serializer.ts +882 -882
  35. package/src/supported-environment.ts +27 -27
  36. package/src/types.ts +565 -565
  37. package/src/web-search/alpha-client.ts +876 -876
  38. package/src/web-search/extension.ts +530 -530
  39. package/src/web-search/payload.ts +299 -299
  40. package/src/web-search/prompt.ts +60 -60
  41. package/src/web-search/types.ts +166 -166
  42. package/tsconfig.check.json +50 -50
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 lll9p
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 lll9p
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/NOTICE CHANGED
@@ -1,83 +1,83 @@
1
- pi-openai-toolkit
2
- Copyright (c) 2026 awoaCrim and contributors
3
-
4
- The native OpenAI Web Search behavior in this package was adapted from
5
- code-yeongyu/pi-openai-web-search at commit
6
- 39643380682f02f306b0de2673ff136c45ccc2a2.
7
-
8
- Upstream copyright and license notice:
9
-
10
- Copyright (c) 2026 Yeongyu Kim
11
-
12
- Permission is hereby granted, free of charge, to any person obtaining a copy
13
- of this software and associated documentation files (the "Software"), to deal
14
- in the Software without restriction, including without limitation the rights
15
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
- copies of the Software, and to permit persons to whom the Software is
17
- furnished to do so, subject to the following conditions:
18
-
19
- The above copyright notice and this permission notice shall be included in all
20
- copies or substantial portions of the Software.
21
-
22
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
- SOFTWARE.
29
-
30
- The adapted implementation targets the @earendil-works Pi interfaces and is
31
- integrated with pi-openai-toolkit's independent compaction and Web Search
32
- extension entry points. The upstream NOTICE also identifies the behavior as a
33
- standalone port of the senpi-mono built-in openai-web-search extension.
34
-
35
- The stable reasoning-effort planner in src/codex-astra/effort-planner.ts was
36
- ported from Oh My Pi (@oh-my-pi/pi-ai, providers/openai-configuration-update.ts)
37
- at version 18.1.8.
38
-
39
- Upstream copyright and license notice:
40
-
41
- MIT License
42
-
43
- Copyright (c) 2025 Mario Zechner
44
- Copyright (c) 2025-2026 Can Bölük
45
- Copyright (c) 2026 Stencil Labs, Inc.
46
-
47
- Permission is hereby granted, free of charge, to any person obtaining a copy
48
- of this software and associated documentation files (the "Software"), to deal
49
- in the Software without restriction, including without limitation the rights
50
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
51
- copies of the Software, and to permit persons to whom the Software is
52
- furnished to do so, subject to the following conditions:
53
-
54
- The above copyright notice and this permission notice shall be included in all
55
- copies or substantial portions of the Software.
56
-
57
- The Remote Context management implementation in src/context-management/ was
58
- adapted from @howaboua/pi-codex-conversion@3.0.29 at source commit
59
- 7021ae48e8efe36a3becc5830d529696ff798e5e.
60
-
61
- Upstream copyright and license notice:
62
-
63
- MIT License
64
-
65
- Copyright (c) 2026 Igor Warzocha
66
-
67
- Permission is hereby granted, free of charge, to any person obtaining a copy
68
- of this software and associated documentation files (the "Software"), to deal
69
- in the Software without restriction, including without limitation the rights
70
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
71
- copies of the Software, and to permit persons to whom the Software is
72
- furnished to do so, subject to the following conditions:
73
-
74
- The above copyright notice and this permission notice shall be included in all
75
- copies or substantial portions of the Software.
76
-
77
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
78
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
79
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
80
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
81
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
82
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
83
- SOFTWARE.
1
+ pi-openai-toolkit
2
+ Copyright (c) 2026 awoaCrim and contributors
3
+
4
+ The native OpenAI Web Search behavior in this package was adapted from
5
+ code-yeongyu/pi-openai-web-search at commit
6
+ 39643380682f02f306b0de2673ff136c45ccc2a2.
7
+
8
+ Upstream copyright and license notice:
9
+
10
+ Copyright (c) 2026 Yeongyu Kim
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+ The adapted implementation targets the @earendil-works Pi interfaces and is
31
+ integrated with pi-openai-toolkit's independent compaction and Web Search
32
+ extension entry points. The upstream NOTICE also identifies the behavior as a
33
+ standalone port of the senpi-mono built-in openai-web-search extension.
34
+
35
+ The stable reasoning-effort planner in src/codex-astra/effort-planner.ts was
36
+ ported from Oh My Pi (@oh-my-pi/pi-ai, providers/openai-configuration-update.ts)
37
+ at version 18.1.8.
38
+
39
+ Upstream copyright and license notice:
40
+
41
+ MIT License
42
+
43
+ Copyright (c) 2025 Mario Zechner
44
+ Copyright (c) 2025-2026 Can Bölük
45
+ Copyright (c) 2026 Stencil Labs, Inc.
46
+
47
+ Permission is hereby granted, free of charge, to any person obtaining a copy
48
+ of this software and associated documentation files (the "Software"), to deal
49
+ in the Software without restriction, including without limitation the rights
50
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
51
+ copies of the Software, and to permit persons to whom the Software is
52
+ furnished to do so, subject to the following conditions:
53
+
54
+ The above copyright notice and this permission notice shall be included in all
55
+ copies or substantial portions of the Software.
56
+
57
+ The Remote Context management implementation in src/context-management/ was
58
+ adapted from @howaboua/pi-codex-conversion@3.0.29 at source commit
59
+ 7021ae48e8efe36a3becc5830d529696ff798e5e.
60
+
61
+ Upstream copyright and license notice:
62
+
63
+ MIT License
64
+
65
+ Copyright (c) 2026 Igor Warzocha
66
+
67
+ Permission is hereby granted, free of charge, to any person obtaining a copy
68
+ of this software and associated documentation files (the "Software"), to deal
69
+ in the Software without restriction, including without limitation the rights
70
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
71
+ copies of the Software, and to permit persons to whom the Software is
72
+ furnished to do so, subject to the following conditions:
73
+
74
+ The above copyright notice and this permission notice shall be included in all
75
+ copies or substantial portions of the Software.
76
+
77
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
78
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
79
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
80
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
81
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
82
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
83
+ SOFTWARE.
package/README.md CHANGED
@@ -60,6 +60,14 @@ Change `mode` in the example above to `remote-windows`. Eligible sessions expose
60
60
 
61
61
  Remote windows use alpha endpoints that may change upstream. When switching models, the remote window remains persisted and reusable; see the [window lifecycle](docs/internals.md#rollover-lifecycle).
62
62
 
63
+ ## Codex Fast
64
+
65
+ Fast is OFF by default. In the terminal, run `/fast` to turn it ON, then run `/fast` again to turn it OFF. The status bar shows `Fast ON`, `Fast OFF`, or `Fast N/A` for an ineligible route. No Fast configuration is needed.
66
+
67
+ Supports native Codex and recognizable GPT/Codex models on compatible Responses gateways. The selection is saved only in the current session: reload/resume and `new_context` retain it; new or forked sessions start OFF. ON requests Fast, while OFF requests Standard, overriding an existing service-tier preference on eligible conversation requests without changing reasoning effort or configuration files.
68
+
69
+ Fast may increase usage/cost. The indicator shows the requested mode, not confirmed backend acceleration; a gateway may reject, ignore, or downgrade it. Opaque gateway model aliases need an existing Codex gateway identity. See the [Fast contract](docs/internals.md#codex-fast-session-control) for scope and lifecycle details.
70
+
63
71
  ## Search, images, and transport
64
72
 
65
73
  ### Web search
package/README.zh.md CHANGED
@@ -60,6 +60,14 @@ Toolkit 只读取一个全局配置文件,即使扩展安装在项目内也一
60
60
 
61
61
  远程窗口依赖 alpha 接口,上游可能随时调整。切换模型时远程窗口状态仍会持久化并可复用,详见[窗口生命周期](docs/internals.md#rollover-lifecycle)。
62
62
 
63
+ ## Codex Fast
64
+
65
+ Fast 默认关闭。在终端输入 `/fast` 开启,再输入一次 `/fast` 关闭。状态栏显示 `Fast ON`、`Fast OFF`,不适用的路由显示 `Fast N/A`。无需添加 Fast 配置。
66
+
67
+ 支持原生 Codex,以及兼容 Responses 网关中可识别的 GPT/Codex 模型。开关只保存在当前会话:reload、续聊和 `new_context` 保留状态,新建或 fork 的会话默认关闭。开启时请求 Fast,关闭时请求标准档,会覆盖符合条件的对话请求中原有的服务档位,但不改变 reasoning effort 或配置文件。
68
+
69
+ Fast 可能增加额度消耗或费用。状态栏表示请求模式,不代表后端已确认加速;网关可能拒绝、忽略或降级请求。无法识别的网关模型别名需要已有的 Codex 网关路由标识。适用范围和生命周期见 [Fast 规则](docs/internals.md#codex-fast-session-control)。
70
+
63
71
  ## 搜索、生图与传输
64
72
 
65
73
  ### 联网搜索