my-pi 0.1.120 → 0.1.121

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 (2) hide show
  1. package/dist/api.d.ts +249 -248
  2. package/package.json +12 -12
package/dist/api.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AgentSessionRuntime, CreateAgentSessionFromServicesOptions, ExtensionAPI, ExtensionFactory, ExtensionFactory as ExtensionFactory$1, InlineExtension, InlineExtension as InlineExtension$1, InteractiveMode, InteractiveModeOptions, PrintModeOptions, runPrintMode, runRpcMode } from "@earendil-works/pi-coding-agent";
2
2
  import { Api, Model } from "@earendil-works/pi-ai";
3
+ import "@spences10/pi-footer";
3
4
  //#region src/extensions/startup-screen/index.d.ts
4
5
  declare function startup_screen_extension(pi: ExtensionAPI): void;
5
6
  //#endregion
@@ -17,379 +18,379 @@ declare function handoff(pi: ExtensionAPI): void;
17
18
  //#endregion
18
19
  //#region src/extensions/builtin-registry.d.ts
19
20
  declare const BUILTIN_EXTENSION_REGISTRY: readonly [{
20
- readonly key: "context-sidecar";
21
- readonly label: "Context sidecar";
22
- readonly docs_label: "SQLite context sidecar";
23
- readonly description: "Local SQLite FTS sidecar for oversized tool output";
21
+ readonly key: 'context-sidecar';
22
+ readonly label: 'Context sidecar';
23
+ readonly docs_label: 'SQLite context sidecar';
24
+ readonly description: 'Local SQLite FTS sidecar for oversized tool output';
24
25
  readonly default_enabled: true;
25
- readonly option_name: "context_sidecar";
26
- readonly cli_arg: "no-context-sidecar";
27
- readonly cli_flag: "--no-context-sidecar";
28
- readonly cli_description: "Disable SQLite context sidecar for large tool output";
26
+ readonly option_name: 'context_sidecar';
27
+ readonly cli_arg: 'no-context-sidecar';
28
+ readonly cli_flag: '--no-context-sidecar';
29
+ readonly cli_description: 'Disable SQLite context sidecar for large tool output';
29
30
  readonly aliases: readonly ["context-sidecar", "context", "sidecar"];
30
- readonly external_package_name: "@spences10/pi-context";
31
+ readonly external_package_name: '@spences10/pi-context';
31
32
  readonly load: () => Promise<typeof import("@spences10/pi-context").default>;
32
33
  }, {
33
- readonly key: "mcp";
34
- readonly label: "MCP";
35
- readonly docs_label: "MCP";
36
- readonly description: "MCP server integration and /mcp command";
34
+ readonly key: 'mcp';
35
+ readonly label: 'MCP';
36
+ readonly docs_label: 'MCP';
37
+ readonly description: 'MCP server integration and /mcp command';
37
38
  readonly default_enabled: true;
38
- readonly option_name: "mcp";
39
- readonly cli_arg: "no-mcp";
40
- readonly cli_flag: "--no-mcp";
41
- readonly cli_description: "Disable built-in MCP extension";
39
+ readonly option_name: 'mcp';
40
+ readonly cli_arg: 'no-mcp';
41
+ readonly cli_flag: '--no-mcp';
42
+ readonly cli_description: 'Disable built-in MCP extension';
42
43
  readonly aliases: readonly ["mcp"];
43
- readonly external_package_name: "@spences10/pi-mcp";
44
+ readonly external_package_name: '@spences10/pi-mcp';
44
45
  readonly load: () => Promise<typeof import("@spences10/pi-mcp").default>;
45
46
  }, {
46
- readonly key: "openrouter-fusion-config";
47
- readonly label: "OpenRouter Fusion config";
48
- readonly docs_label: "OpenRouter Fusion config guard";
49
- readonly description: "Keeps OpenRouter Fusion off Anthropic by injecting a non-Anthropic panel and judge";
47
+ readonly key: 'openrouter-fusion-config';
48
+ readonly label: 'OpenRouter Fusion config';
49
+ readonly docs_label: 'OpenRouter Fusion config guard';
50
+ readonly description: 'Keeps OpenRouter Fusion off Anthropic by injecting a non-Anthropic panel and judge';
50
51
  readonly default_enabled: true;
51
- readonly option_name: "openrouter_fusion_config";
52
- readonly cli_arg: "no-openrouter-fusion-config";
53
- readonly cli_flag: "--no-openrouter-fusion-config";
54
- readonly cli_description: "Disable OpenRouter Fusion non-Anthropic config";
52
+ readonly option_name: 'openrouter_fusion_config';
53
+ readonly cli_arg: 'no-openrouter-fusion-config';
54
+ readonly cli_flag: '--no-openrouter-fusion-config';
55
+ readonly cli_description: 'Disable OpenRouter Fusion non-Anthropic config';
55
56
  readonly aliases: readonly ["openrouter-fusion-config", "fusion-budget"];
56
57
  readonly load: () => Promise<ExtensionFactory$1>;
57
58
  }, {
58
- readonly key: "umans-provider";
59
- readonly label: "Umans provider";
60
- readonly docs_label: "Umans provider";
61
- readonly description: "Umans.ai Anthropic Messages provider with API key login support";
59
+ readonly key: 'umans-provider';
60
+ readonly label: 'Umans provider';
61
+ readonly docs_label: 'Umans provider';
62
+ readonly description: 'Umans.ai Anthropic Messages provider with API key login support';
62
63
  readonly default_enabled: true;
63
- readonly option_name: "umans_provider";
64
- readonly cli_arg: "no-umans-provider";
65
- readonly cli_flag: "--no-umans-provider";
66
- readonly cli_description: "Disable built-in Umans provider";
64
+ readonly option_name: 'umans_provider';
65
+ readonly cli_arg: 'no-umans-provider';
66
+ readonly cli_flag: '--no-umans-provider';
67
+ readonly cli_description: 'Disable built-in Umans provider';
67
68
  readonly aliases: readonly ["umans-provider", "umans"];
68
69
  readonly load: () => Promise<ExtensionFactory$1>;
69
70
  }, {
70
- readonly key: "footer";
71
- readonly label: "Footer";
72
- readonly docs_label: "Footer";
73
- readonly description: "Configurable interactive footer/statusline";
71
+ readonly key: 'footer';
72
+ readonly label: 'Footer';
73
+ readonly docs_label: 'Footer';
74
+ readonly description: 'Configurable interactive footer/statusline';
74
75
  readonly default_enabled: true;
75
- readonly option_name: "footer";
76
- readonly cli_arg: "no-footer";
77
- readonly cli_flag: "--no-footer";
78
- readonly cli_description: "Disable custom footer/statusline";
76
+ readonly option_name: 'footer';
77
+ readonly cli_arg: 'no-footer';
78
+ readonly cli_flag: '--no-footer';
79
+ readonly cli_description: 'Disable custom footer/statusline';
79
80
  readonly aliases: readonly ["footer", "statusline", "status-line"];
80
81
  readonly mode_constraints: {
81
82
  readonly disabled_in: readonly ["print", "json", "rpc"];
82
- readonly reason: "Footer only renders in the interactive TUI";
83
+ readonly reason: 'Footer only renders in the interactive TUI';
83
84
  };
84
85
  readonly load: () => Promise<typeof import("@spences10/pi-footer").default>;
85
86
  }, {
86
- readonly key: "codex-usage";
87
- readonly label: "Codex usage";
88
- readonly docs_label: "Codex usage status";
89
- readonly description: "OpenAI Codex usage status for the footer";
87
+ readonly key: 'codex-usage';
88
+ readonly label: 'Codex usage';
89
+ readonly docs_label: 'Codex usage status';
90
+ readonly description: 'OpenAI Codex usage status for the footer';
90
91
  readonly default_enabled: true;
91
- readonly option_name: "codex_usage";
92
- readonly cli_arg: "no-codex-usage";
93
- readonly cli_flag: "--no-codex-usage";
94
- readonly cli_description: "Disable Codex usage footer status";
92
+ readonly option_name: 'codex_usage';
93
+ readonly cli_arg: 'no-codex-usage';
94
+ readonly cli_flag: '--no-codex-usage';
95
+ readonly cli_description: 'Disable Codex usage footer status';
95
96
  readonly aliases: readonly ["codex-usage", "codex-status"];
96
- readonly external_package_name: "@spences10/pi-codex-usage";
97
+ readonly external_package_name: '@spences10/pi-codex-usage';
97
98
  readonly load: () => Promise<typeof import("@spences10/pi-codex-usage").default>;
98
99
  }, {
99
- readonly key: "harness";
100
- readonly label: "Harness";
101
- readonly docs_label: "Task harness runtime";
102
- readonly description: "Ephemeral /tmp task harness runtime with tools, enforcement, and bundled skills";
100
+ readonly key: 'harness';
101
+ readonly label: 'Harness';
102
+ readonly docs_label: 'Task harness runtime';
103
+ readonly description: 'Ephemeral /tmp task harness runtime with tools, enforcement, and bundled skills';
103
104
  readonly default_enabled: true;
104
- readonly option_name: "harness";
105
- readonly cli_arg: "no-harness";
106
- readonly cli_flag: "--no-harness";
107
- readonly cli_description: "Disable task harness runtime";
105
+ readonly option_name: 'harness';
106
+ readonly cli_arg: 'no-harness';
107
+ readonly cli_flag: '--no-harness';
108
+ readonly cli_description: 'Disable task harness runtime';
108
109
  readonly aliases: readonly ["harness", "task-harness"];
109
- readonly external_package_name: "@spences10/pi-harness";
110
+ readonly external_package_name: '@spences10/pi-harness';
110
111
  readonly load: () => Promise<typeof import("@spences10/pi-harness").default>;
111
112
  }, {
112
- readonly key: "factory";
113
- readonly label: "Software factory (experimental)";
114
- readonly docs_label: "Experimental software-factory control plane";
115
- readonly description: "Paused experimental workflow control plane; enable explicitly for Factory v1 evaluation only";
113
+ readonly key: 'factory';
114
+ readonly label: 'Software factory (experimental)';
115
+ readonly docs_label: 'Experimental software-factory control plane';
116
+ readonly description: 'Paused experimental workflow control plane; enable explicitly for Factory v1 evaluation only';
116
117
  readonly default_enabled: false;
117
- readonly option_name: "factory";
118
- readonly cli_arg: "no-factory";
119
- readonly cli_flag: "--no-factory";
120
- readonly cli_description: "Disable software-factory control plane";
118
+ readonly option_name: 'factory';
119
+ readonly cli_arg: 'no-factory';
120
+ readonly cli_flag: '--no-factory';
121
+ readonly cli_description: 'Disable software-factory control plane';
121
122
  readonly aliases: readonly ["factory", "software-factory", "control-plane"];
122
- readonly external_package_name: "@spences10/pi-factory";
123
+ readonly external_package_name: '@spences10/pi-factory';
123
124
  readonly load: () => Promise<typeof import("@spences10/pi-factory").default>;
124
125
  }, {
125
- readonly key: "skills";
126
- readonly label: "Skills";
127
- readonly docs_label: "Skills";
128
- readonly description: "Managed pi-native skills and /skills command";
126
+ readonly key: 'skills';
127
+ readonly label: 'Skills';
128
+ readonly docs_label: 'Skills';
129
+ readonly description: 'Managed pi-native skills and /skills command';
129
130
  readonly default_enabled: true;
130
- readonly option_name: "skills";
131
- readonly cli_arg: "no-skills";
132
- readonly cli_flag: "--no-skills";
133
- readonly cli_description: "Disable built-in skills extension";
131
+ readonly option_name: 'skills';
132
+ readonly cli_arg: 'no-skills';
133
+ readonly cli_flag: '--no-skills';
134
+ readonly cli_description: 'Disable built-in skills extension';
134
135
  readonly aliases: readonly ["skills", "skill"];
135
- readonly external_package_name: "@spences10/pi-skills";
136
+ readonly external_package_name: '@spences10/pi-skills';
136
137
  readonly load: () => Promise<typeof import("@spences10/pi-skills").default>;
137
138
  }, {
138
- readonly key: "skill-importer";
139
- readonly label: "Skill importer";
140
- readonly docs_label: "Skill importer";
141
- readonly description: "Import external Claude/plugin skills into Pi-native storage";
139
+ readonly key: 'skill-importer';
140
+ readonly label: 'Skill importer';
141
+ readonly docs_label: 'Skill importer';
142
+ readonly description: 'Import external Claude/plugin skills into Pi-native storage';
142
143
  readonly default_enabled: true;
143
- readonly option_name: "skill_importer";
144
- readonly cli_arg: "no-skill-importer";
145
- readonly cli_flag: "--no-skill-importer";
146
- readonly cli_description: "Disable external skill importer extension";
144
+ readonly option_name: 'skill_importer';
145
+ readonly cli_arg: 'no-skill-importer';
146
+ readonly cli_flag: '--no-skill-importer';
147
+ readonly cli_description: 'Disable external skill importer extension';
147
148
  readonly aliases: readonly ["skill-importer", "import-skills", "skill-import"];
148
- readonly external_package_name: "@spences10/pi-skill-importer";
149
+ readonly external_package_name: '@spences10/pi-skill-importer';
149
150
  readonly load: () => Promise<typeof import("@spences10/pi-skill-importer").default>;
150
151
  }, {
151
- readonly key: "filter-output";
152
- readonly label: "Secret redaction";
153
- readonly docs_label: "Secret redaction";
154
- readonly description: "Redacts secrets from tool output before the model sees them";
152
+ readonly key: 'filter-output';
153
+ readonly label: 'Secret redaction';
154
+ readonly docs_label: 'Secret redaction';
155
+ readonly description: 'Redacts secrets from tool output before the model sees them';
155
156
  readonly default_enabled: true;
156
- readonly option_name: "filter_output";
157
- readonly cli_arg: "no-filter";
158
- readonly cli_flag: "--no-filter";
159
- readonly cli_description: "Disable secret redaction in tool output";
157
+ readonly option_name: 'filter_output';
158
+ readonly cli_arg: 'no-filter';
159
+ readonly cli_flag: '--no-filter';
160
+ readonly cli_description: 'Disable secret redaction in tool output';
160
161
  readonly aliases: readonly ["filter-output", "filter_output", "filter", "redaction", "secret-redaction", "output-redaction"];
161
- readonly external_package_name: "@spences10/pi-redact";
162
+ readonly external_package_name: '@spences10/pi-redact';
162
163
  readonly load: () => Promise<typeof import("@spences10/pi-redact").default>;
163
164
  }, {
164
- readonly key: "recall";
165
- readonly label: "Recall";
166
- readonly docs_label: "Recall";
167
- readonly description: "pirecall reminder and background session sync";
165
+ readonly key: 'recall';
166
+ readonly label: 'Recall';
167
+ readonly docs_label: 'Recall';
168
+ readonly description: 'pirecall reminder and background session sync';
168
169
  readonly default_enabled: true;
169
- readonly option_name: "recall";
170
- readonly cli_arg: "no-recall";
171
- readonly cli_flag: "--no-recall";
172
- readonly cli_description: "Disable recall extension";
170
+ readonly option_name: 'recall';
171
+ readonly cli_arg: 'no-recall';
172
+ readonly cli_flag: '--no-recall';
173
+ readonly cli_description: 'Disable recall extension';
173
174
  readonly aliases: readonly ["recall", "pirecall"];
174
- readonly external_package_name: "@spences10/pi-recall";
175
+ readonly external_package_name: '@spences10/pi-recall';
175
176
  readonly load: () => Promise<typeof import("@spences10/pi-recall").default>;
176
177
  }, {
177
- readonly key: "nopeek";
178
- readonly label: "Nopeek";
179
- readonly docs_label: "Nopeek";
180
- readonly description: "nopeek reminder for secret-safe environment loading";
178
+ readonly key: 'nopeek';
179
+ readonly label: 'Nopeek';
180
+ readonly docs_label: 'Nopeek';
181
+ readonly description: 'nopeek reminder for secret-safe environment loading';
181
182
  readonly default_enabled: true;
182
- readonly option_name: "nopeek";
183
- readonly cli_arg: "no-nopeek";
184
- readonly cli_flag: "--no-nopeek";
185
- readonly cli_description: "Disable nopeek reminder extension";
183
+ readonly option_name: 'nopeek';
184
+ readonly cli_arg: 'no-nopeek';
185
+ readonly cli_flag: '--no-nopeek';
186
+ readonly cli_description: 'Disable nopeek reminder extension';
186
187
  readonly aliases: readonly ["nopeek", "secrets", "secret-loading"];
187
- readonly external_package_name: "@spences10/pi-nopeek";
188
+ readonly external_package_name: '@spences10/pi-nopeek';
188
189
  readonly load: () => Promise<typeof import("@spences10/pi-nopeek").default>;
189
190
  }, {
190
- readonly key: "observability";
191
- readonly label: "Observability";
192
- readonly docs_label: "Live observability";
193
- readonly description: "Optional live event stream and local browser dashboard";
191
+ readonly key: 'observability';
192
+ readonly label: 'Observability';
193
+ readonly docs_label: 'Live observability';
194
+ readonly description: 'Optional live event stream and local browser dashboard';
194
195
  readonly default_enabled: true;
195
- readonly option_name: "observability";
196
- readonly cli_arg: "no-observability";
197
- readonly cli_flag: "--no-observability";
198
- readonly cli_description: "Disable live observability extension";
196
+ readonly option_name: 'observability';
197
+ readonly cli_arg: 'no-observability';
198
+ readonly cli_flag: '--no-observability';
199
+ readonly cli_description: 'Disable live observability extension';
199
200
  readonly aliases: readonly ["observability", "obs", "live-events"];
200
- readonly external_package_name: "@spences10/pi-observability";
201
+ readonly external_package_name: '@spences10/pi-observability';
201
202
  readonly load: () => Promise<typeof import("@spences10/pi-observability").default>;
202
203
  }, {
203
- readonly key: "omnisearch";
204
- readonly label: "Omnisearch";
205
- readonly docs_label: "Omnisearch";
206
- readonly description: "mcp-omnisearch reminder for verified web research";
204
+ readonly key: 'omnisearch';
205
+ readonly label: 'Omnisearch';
206
+ readonly docs_label: 'Omnisearch';
207
+ readonly description: 'mcp-omnisearch reminder for verified web research';
207
208
  readonly default_enabled: true;
208
- readonly option_name: "omnisearch";
209
- readonly cli_arg: "no-omnisearch";
210
- readonly cli_flag: "--no-omnisearch";
211
- readonly cli_description: "Disable mcp-omnisearch reminder extension";
209
+ readonly option_name: 'omnisearch';
210
+ readonly cli_arg: 'no-omnisearch';
211
+ readonly cli_flag: '--no-omnisearch';
212
+ readonly cli_description: 'Disable mcp-omnisearch reminder extension';
212
213
  readonly aliases: readonly ["omnisearch", "search", "web-search", "research"];
213
- readonly external_package_name: "@spences10/pi-omnisearch";
214
+ readonly external_package_name: '@spences10/pi-omnisearch';
214
215
  readonly load: () => Promise<typeof import("@spences10/pi-omnisearch").default>;
215
216
  }, {
216
- readonly key: "sqlite-tools";
217
- readonly label: "SQLite tools";
218
- readonly docs_label: "SQLite tools";
219
- readonly description: "mcp-sqlite-tools reminder for safer SQLite database work";
217
+ readonly key: 'sqlite-tools';
218
+ readonly label: 'SQLite tools';
219
+ readonly docs_label: 'SQLite tools';
220
+ readonly description: 'mcp-sqlite-tools reminder for safer SQLite database work';
220
221
  readonly default_enabled: true;
221
- readonly option_name: "sqlite_tools";
222
- readonly cli_arg: "no-sqlite-tools";
223
- readonly cli_flag: "--no-sqlite-tools";
224
- readonly cli_description: "Disable mcp-sqlite-tools reminder extension";
222
+ readonly option_name: 'sqlite_tools';
223
+ readonly cli_arg: 'no-sqlite-tools';
224
+ readonly cli_flag: '--no-sqlite-tools';
225
+ readonly cli_description: 'Disable mcp-sqlite-tools reminder extension';
225
226
  readonly aliases: readonly ["sqlite-tools", "sqlite", "mcp-sqlite-tools"];
226
- readonly external_package_name: "@spences10/pi-sqlite-tools";
227
+ readonly external_package_name: '@spences10/pi-sqlite-tools';
227
228
  readonly load: () => Promise<typeof import("@spences10/pi-sqlite-tools").default>;
228
229
  }, {
229
- readonly key: "startup-screen";
230
- readonly label: "Startup screen";
231
- readonly docs_label: "Startup screen";
232
- readonly description: "Pixel-art gradient startup header for interactive sessions";
230
+ readonly key: 'startup-screen';
231
+ readonly label: 'Startup screen';
232
+ readonly docs_label: 'Startup screen';
233
+ readonly description: 'Pixel-art gradient startup header for interactive sessions';
233
234
  readonly default_enabled: true;
234
- readonly option_name: "startup_screen";
235
- readonly cli_arg: "no-startup-screen";
236
- readonly cli_flag: "--no-startup-screen";
237
- readonly cli_description: "Disable the custom startup screen";
235
+ readonly option_name: 'startup_screen';
236
+ readonly cli_arg: 'no-startup-screen';
237
+ readonly cli_flag: '--no-startup-screen';
238
+ readonly cli_description: 'Disable the custom startup screen';
238
239
  readonly aliases: readonly ["startup-screen", "startup", "header", "splash"];
239
240
  readonly mode_constraints: {
240
241
  readonly disabled_in: readonly ["print", "json", "rpc"];
241
- readonly reason: "Startup screen only renders in the interactive TUI";
242
+ readonly reason: 'Startup screen only renders in the interactive TUI';
242
243
  };
243
244
  readonly load: () => Promise<typeof startup_screen_extension>;
244
245
  }, {
245
- readonly key: "prompt-presets";
246
- readonly label: "Prompt presets";
247
- readonly docs_label: "Prompt presets";
248
- readonly description: "Runtime prompt preset selection and /prompt-preset command";
246
+ readonly key: 'prompt-presets';
247
+ readonly label: 'Prompt presets';
248
+ readonly docs_label: 'Prompt presets';
249
+ readonly description: 'Runtime prompt preset selection and /prompt-preset command';
249
250
  readonly default_enabled: true;
250
- readonly option_name: "prompt_presets";
251
- readonly cli_arg: "no-prompt-presets";
252
- readonly cli_flag: "--no-prompt-presets";
253
- readonly cli_description: "Disable prompt presets extension";
251
+ readonly option_name: 'prompt_presets';
252
+ readonly cli_arg: 'no-prompt-presets';
253
+ readonly cli_flag: '--no-prompt-presets';
254
+ readonly cli_description: 'Disable prompt presets extension';
254
255
  readonly aliases: readonly ["prompt-preset", "preset", "presets"];
255
256
  readonly load: () => Promise<typeof prompt_presets>;
256
257
  }, {
257
- readonly key: "turn-timer";
258
- readonly label: "Turn timer";
259
- readonly docs_label: "Turn timer";
260
- readonly description: "Live elapsed timer beside the working spinner with persisted turn durations";
258
+ readonly key: 'turn-timer';
259
+ readonly label: 'Turn timer';
260
+ readonly docs_label: 'Turn timer';
261
+ readonly description: 'Live elapsed timer beside the working spinner with persisted turn durations';
261
262
  readonly default_enabled: true;
262
- readonly option_name: "turn_timer";
263
- readonly cli_arg: "no-turn-timer";
264
- readonly cli_flag: "--no-turn-timer";
265
- readonly cli_description: "Disable the working spinner turn timer";
263
+ readonly option_name: 'turn_timer';
264
+ readonly cli_arg: 'no-turn-timer';
265
+ readonly cli_flag: '--no-turn-timer';
266
+ readonly cli_description: 'Disable the working spinner turn timer';
266
267
  readonly aliases: readonly ["turn-timer", "timer", "elapsed-time"];
267
268
  readonly mode_constraints: {
268
269
  readonly disabled_in: readonly ["print", "json", "rpc"];
269
- readonly reason: "The live timer is only useful in the interactive TUI";
270
+ readonly reason: 'The live timer is only useful in the interactive TUI';
270
271
  };
271
272
  readonly load: () => Promise<typeof turn_timer>;
272
273
  }, {
273
- readonly key: "git-ui";
274
- readonly label: "Git UI";
275
- readonly docs_label: "Git staging UI";
276
- readonly description: "Interactive source control staging panel";
274
+ readonly key: 'git-ui';
275
+ readonly label: 'Git UI';
276
+ readonly docs_label: 'Git staging UI';
277
+ readonly description: 'Interactive source control staging panel';
277
278
  readonly default_enabled: true;
278
- readonly option_name: "git_ui";
279
- readonly cli_arg: "no-git-ui";
280
- readonly cli_flag: "--no-git-ui";
281
- readonly cli_description: "Disable built-in Git staging UI";
279
+ readonly option_name: 'git_ui';
280
+ readonly cli_arg: 'no-git-ui';
281
+ readonly cli_flag: '--no-git-ui';
282
+ readonly cli_description: 'Disable built-in Git staging UI';
282
283
  readonly aliases: readonly ["git-ui", "git", "source-control", "scm"];
283
284
  readonly mode_constraints: {
284
285
  readonly disabled_in: readonly ["print", "json", "rpc"];
285
- readonly reason: "Git UI is only useful in interactive mode";
286
+ readonly reason: 'Git UI is only useful in interactive mode';
286
287
  };
287
- readonly external_package_name: "@spences10/pi-git-ui";
288
+ readonly external_package_name: '@spences10/pi-git-ui';
288
289
  readonly load: () => Promise<typeof import("@spences10/pi-git-ui").default>;
289
290
  }, {
290
- readonly key: "lsp";
291
- readonly label: "LSP";
292
- readonly docs_label: "LSP";
293
- readonly description: "Language Server Protocol tools (diagnostics, hover, definition, references)";
291
+ readonly key: 'lsp';
292
+ readonly label: 'LSP';
293
+ readonly docs_label: 'LSP';
294
+ readonly description: 'Language Server Protocol tools (diagnostics, hover, definition, references)';
294
295
  readonly default_enabled: true;
295
- readonly option_name: "lsp";
296
- readonly cli_arg: "no-lsp";
297
- readonly cli_flag: "--no-lsp";
298
- readonly cli_description: "Disable LSP extension";
296
+ readonly option_name: 'lsp';
297
+ readonly cli_arg: 'no-lsp';
298
+ readonly cli_flag: '--no-lsp';
299
+ readonly cli_description: 'Disable LSP extension';
299
300
  readonly aliases: readonly ["lsp", "language-server"];
300
- readonly external_package_name: "@spences10/pi-lsp";
301
+ readonly external_package_name: '@spences10/pi-lsp';
301
302
  readonly load: () => Promise<(pi: import("@earendil-works/pi-coding-agent").ExtensionAPI) => Promise<void>>;
302
303
  }, {
303
- readonly key: "session-name";
304
- readonly label: "Session name";
305
- readonly docs_label: "Session auto-naming";
306
- readonly description: "AI-powered session auto-naming and /session-name command";
304
+ readonly key: 'session-name';
305
+ readonly label: 'Session name';
306
+ readonly docs_label: 'Session auto-naming';
307
+ readonly description: 'AI-powered session auto-naming and /session-name command';
307
308
  readonly default_enabled: true;
308
- readonly option_name: "session_name";
309
- readonly cli_arg: "no-session-name";
310
- readonly cli_flag: "--no-session-name";
311
- readonly cli_description: "Disable session name extension";
309
+ readonly option_name: 'session_name';
310
+ readonly cli_arg: 'no-session-name';
311
+ readonly cli_flag: '--no-session-name';
312
+ readonly cli_description: 'Disable session name extension';
312
313
  readonly aliases: readonly ["session-name", "session", "auto-name"];
313
314
  readonly mode_constraints: {
314
315
  readonly disabled_in: readonly ["print", "json", "rpc"];
315
- readonly reason: "UI-only session naming is only useful in interactive mode";
316
+ readonly reason: 'UI-only session naming is only useful in interactive mode';
316
317
  };
317
318
  readonly load: () => Promise<typeof session_name>;
318
319
  }, {
319
- readonly key: "confirm-destructive";
320
- readonly label: "Confirm destructive";
321
- readonly docs_label: "Destructive action confirmation";
322
- readonly description: "Prompt before destructive tool calls like file deletes, overwrites, and hard resets";
320
+ readonly key: 'confirm-destructive';
321
+ readonly label: 'Confirm destructive';
322
+ readonly docs_label: 'Destructive action confirmation';
323
+ readonly description: 'Prompt before destructive tool calls like file deletes, overwrites, and hard resets';
323
324
  readonly default_enabled: true;
324
- readonly option_name: "confirm_destructive";
325
- readonly cli_arg: "no-confirm-destructive";
326
- readonly cli_flag: "--no-confirm-destructive";
327
- readonly cli_description: "Disable destructive action confirmations";
325
+ readonly option_name: 'confirm_destructive';
326
+ readonly cli_arg: 'no-confirm-destructive';
327
+ readonly cli_flag: '--no-confirm-destructive';
328
+ readonly cli_description: 'Disable destructive action confirmations';
328
329
  readonly aliases: readonly ["confirm-destructive", "confirm"];
329
- readonly external_package_name: "@spences10/pi-confirm-destructive";
330
+ readonly external_package_name: '@spences10/pi-confirm-destructive';
330
331
  readonly load: () => Promise<typeof import("@spences10/pi-confirm-destructive").default>;
331
332
  }, {
332
- readonly key: "hooks-resolution";
333
- readonly label: "Hooks resolution";
334
- readonly docs_label: "Hooks resolution";
335
- readonly description: "Claude Code style PreToolUse and PostToolUse hook compatibility from .claude, .rulesync, and .pi configs";
333
+ readonly key: 'hooks-resolution';
334
+ readonly label: 'Hooks resolution';
335
+ readonly docs_label: 'Hooks resolution';
336
+ readonly description: 'Claude Code style PreToolUse and PostToolUse hook compatibility from .claude, .rulesync, and .pi configs';
336
337
  readonly default_enabled: true;
337
- readonly option_name: "hooks_resolution";
338
- readonly cli_arg: "no-hooks";
339
- readonly cli_flag: "--no-hooks";
340
- readonly cli_description: "Disable Claude-style hook execution";
338
+ readonly option_name: 'hooks_resolution';
339
+ readonly cli_arg: 'no-hooks';
340
+ readonly cli_flag: '--no-hooks';
341
+ readonly cli_description: 'Disable Claude-style hook execution';
341
342
  readonly aliases: readonly ["hooks-resolution", "hooks"];
342
343
  readonly load: () => Promise<ExtensionFactory$1>;
343
344
  }, {
344
- readonly key: "svelte-guardrails";
345
- readonly label: "Svelte guardrails";
346
- readonly docs_label: "Svelte guardrails";
347
- readonly description: "Blocks discouraged Svelte patterns like $effect before agents write them";
345
+ readonly key: 'svelte-guardrails';
346
+ readonly label: 'Svelte guardrails';
347
+ readonly docs_label: 'Svelte guardrails';
348
+ readonly description: 'Blocks discouraged Svelte patterns like $effect before agents write them';
348
349
  readonly default_enabled: true;
349
- readonly option_name: "svelte_guardrails";
350
- readonly cli_arg: "no-svelte-guardrails";
351
- readonly cli_flag: "--no-svelte-guardrails";
352
- readonly cli_description: "Disable Svelte guardrails";
350
+ readonly option_name: 'svelte_guardrails';
351
+ readonly cli_arg: 'no-svelte-guardrails';
352
+ readonly cli_flag: '--no-svelte-guardrails';
353
+ readonly cli_description: 'Disable Svelte guardrails';
353
354
  readonly aliases: readonly ["svelte-guardrails", "svelte"];
354
- readonly external_package_name: "@spences10/pi-svelte-guardrails";
355
+ readonly external_package_name: '@spences10/pi-svelte-guardrails';
355
356
  readonly load: () => Promise<typeof import("@spences10/pi-svelte-guardrails").default>;
356
357
  }, {
357
- readonly key: "coding-preferences";
358
- readonly label: "Coding preferences";
359
- readonly docs_label: "Coding preferences";
360
- readonly description: "Blocks configured coding workflow anti-patterns from JSON preferences";
358
+ readonly key: 'coding-preferences';
359
+ readonly label: 'Coding preferences';
360
+ readonly docs_label: 'Coding preferences';
361
+ readonly description: 'Blocks configured coding workflow anti-patterns from JSON preferences';
361
362
  readonly default_enabled: true;
362
- readonly option_name: "coding_preferences";
363
- readonly cli_arg: "no-coding-preferences";
364
- readonly cli_flag: "--no-coding-preferences";
365
- readonly cli_description: "Disable coding preferences guardrails";
363
+ readonly option_name: 'coding_preferences';
364
+ readonly cli_arg: 'no-coding-preferences';
365
+ readonly cli_flag: '--no-coding-preferences';
366
+ readonly cli_description: 'Disable coding preferences guardrails';
366
367
  readonly aliases: readonly ["coding-preferences", "preferences", "prefs"];
367
- readonly external_package_name: "@spences10/pi-coding-preferences";
368
+ readonly external_package_name: '@spences10/pi-coding-preferences';
368
369
  readonly load: () => Promise<typeof import("@spences10/pi-coding-preferences").default>;
369
370
  }, {
370
- readonly key: "handoff";
371
- readonly label: "Handoff";
372
- readonly docs_label: "Handoff";
373
- readonly description: "Help command for Pi continuation primitives like /fork, /tree, /export, /import, and /share";
371
+ readonly key: 'handoff';
372
+ readonly label: 'Handoff';
373
+ readonly docs_label: 'Handoff';
374
+ readonly description: 'Help command for Pi continuation primitives like /fork, /tree, /export, /import, and /share';
374
375
  readonly default_enabled: true;
375
- readonly option_name: "handoff";
376
- readonly cli_arg: "no-handoff";
377
- readonly cli_flag: "--no-handoff";
378
- readonly cli_description: "Disable handoff helper command";
376
+ readonly option_name: 'handoff';
377
+ readonly cli_arg: 'no-handoff';
378
+ readonly cli_flag: '--no-handoff';
379
+ readonly cli_description: 'Disable handoff helper command';
379
380
  readonly aliases: readonly ["handoff", "continuation"];
380
381
  readonly load: () => Promise<typeof handoff>;
381
382
  }, {
382
- readonly key: "team-mode";
383
- readonly label: "Team mode";
384
- readonly docs_label: "Team mode";
385
- readonly description: "Peer coordination between independently opened Pi sessions with groups, artifacts, and durable mailboxes";
383
+ readonly key: 'team-mode';
384
+ readonly label: 'Team mode';
385
+ readonly docs_label: 'Team mode';
386
+ readonly description: 'Peer coordination between independently opened Pi sessions with groups, artifacts, and durable mailboxes';
386
387
  readonly default_enabled: true;
387
- readonly option_name: "team_mode";
388
- readonly cli_arg: "no-team-mode";
389
- readonly cli_flag: "--no-team-mode";
390
- readonly cli_description: "Disable peer-session team mode extension";
388
+ readonly option_name: 'team_mode';
389
+ readonly cli_arg: 'no-team-mode';
390
+ readonly cli_flag: '--no-team-mode';
391
+ readonly cli_description: 'Disable peer-session team mode extension';
391
392
  readonly aliases: readonly ["team-mode", "team", "teammates"];
392
- readonly external_package_name: "@spences10/pi-team-mode";
393
+ readonly external_package_name: '@spences10/pi-team-mode';
393
394
  readonly load: () => Promise<typeof import("@spences10/pi-team-mode").default>;
394
395
  }];
395
396
  type BuiltinExtensionKey = (typeof BUILTIN_EXTENSION_REGISTRY)[number]['key'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "my-pi",
3
- "version": "0.1.120",
3
+ "version": "0.1.121",
4
4
  "description": "Composable pi coding agent with MCP, LSP, prompt presets, and local eval telemetry",
5
5
  "keywords": [
6
6
  "cli",
@@ -48,9 +48,9 @@
48
48
  "@earendil-works/pi-tui": "0.80.10",
49
49
  "citty": "^0.2.2",
50
50
  "@spences10/pi-project-trust": "0.0.19",
51
- "@spences10/pi-tui-modal": "0.0.24",
51
+ "@spences10/pi-settings": "0.0.3",
52
52
  "@spences10/pi-themes": "0.0.10",
53
- "@spences10/pi-settings": "0.0.3"
53
+ "@spences10/pi-tui-modal": "0.0.24"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@changesets/cli": "^2.31.0",
@@ -62,26 +62,26 @@
62
62
  },
63
63
  "optionalDependencies": {
64
64
  "@spences10/pi-child-env": "0.1.9",
65
- "@spences10/pi-context": "0.1.12",
66
65
  "@spences10/pi-coding-preferences": "0.0.15",
67
66
  "@spences10/pi-confirm-destructive": "0.0.20",
67
+ "@spences10/pi-codex-usage": "0.0.1",
68
+ "@spences10/pi-factory": "0.0.10",
68
69
  "@spences10/pi-git-ui": "0.0.16",
69
- "@spences10/pi-factory": "0.0.9",
70
+ "@spences10/pi-harness": "0.0.7",
71
+ "@spences10/pi-context": "0.1.12",
70
72
  "@spences10/pi-footer": "0.0.15",
71
- "@spences10/pi-codex-usage": "0.0.1",
72
73
  "@spences10/pi-lsp": "0.0.42",
73
74
  "@spences10/pi-mcp": "0.0.54",
74
- "@spences10/pi-harness": "0.0.7",
75
75
  "@spences10/pi-observability": "0.0.22",
76
76
  "@spences10/pi-nopeek": "0.0.15",
77
- "@spences10/pi-omnisearch": "0.0.15",
78
77
  "@spences10/pi-recall": "0.0.16",
79
- "@spences10/pi-skills": "0.0.36",
80
- "@spences10/pi-sqlite-tools": "0.0.15",
78
+ "@spences10/pi-omnisearch": "0.0.15",
79
+ "@spences10/pi-redact": "0.0.14",
81
80
  "@spences10/pi-skill-importer": "0.0.13",
81
+ "@spences10/pi-sqlite-tools": "0.0.15",
82
82
  "@spences10/pi-svelte-guardrails": "0.0.16",
83
- "@spences10/pi-redact": "0.0.14",
84
- "@spences10/pi-team-mode": "0.0.53",
83
+ "@spences10/pi-skills": "0.0.36",
84
+ "@spences10/pi-team-mode": "0.0.54",
85
85
  "@spences10/pi-telemetry": "0.0.32"
86
86
  },
87
87
  "engines": {