@ai-outfitter/outfitter 0.3.0 → 0.6.1

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 (52) hide show
  1. package/README.md +48 -9
  2. package/dist/agents/AdapterProfileControls.d.ts +1 -0
  3. package/dist/agents/AdapterProfileControls.js +6 -0
  4. package/dist/agents/AdapterProfileControls.js.map +1 -1
  5. package/dist/agents/claude/ClaudeAdapter.js +2 -2
  6. package/dist/agents/claude/ClaudeAdapter.js.map +1 -1
  7. package/dist/agents/pi/PiAdapter.js +21 -13
  8. package/dist/agents/pi/PiAdapter.js.map +1 -1
  9. package/dist/cli/OutfitterCli.js +7 -2
  10. package/dist/cli/OutfitterCli.js.map +1 -1
  11. package/dist/cli/commands/FirstRunWelcomeProfile.js +8 -5
  12. package/dist/cli/commands/FirstRunWelcomeProfile.js.map +1 -1
  13. package/dist/cli/commands/PiLoginLaunch.js +67 -9
  14. package/dist/cli/commands/PiLoginLaunch.js.map +1 -1
  15. package/dist/cli/commands/RunCommand.js +4 -1
  16. package/dist/cli/commands/RunCommand.js.map +1 -1
  17. package/dist/cli/commands/SetupCommand.d.ts +16 -0
  18. package/dist/cli/commands/SetupCommand.js +340 -34
  19. package/dist/cli/commands/SetupCommand.js.map +1 -1
  20. package/dist/cli/commands/WelcomeCommand.d.ts +3 -1
  21. package/dist/cli/commands/WelcomeCommand.js +87 -77
  22. package/dist/cli/commands/WelcomeCommand.js.map +1 -1
  23. package/dist/cli/commands/profile/ListCommand.d.ts +2 -0
  24. package/dist/cli/commands/profile/ListCommand.js +9 -3
  25. package/dist/cli/commands/profile/ListCommand.js.map +1 -1
  26. package/dist/compositeProfile/StatePersistence.js +3 -0
  27. package/dist/compositeProfile/StatePersistence.js.map +1 -1
  28. package/dist/merge/ArrayMergePolicy.d.ts +2 -1
  29. package/dist/merge/ArrayMergePolicy.js +14 -11
  30. package/dist/merge/ArrayMergePolicy.js.map +1 -1
  31. package/dist/merge/SettingsValueMerger.js +27 -2
  32. package/dist/merge/SettingsValueMerger.js.map +1 -1
  33. package/dist/profiles/Profile.d.ts +4 -1
  34. package/dist/profiles/Profile.js.map +1 -1
  35. package/dist/profiles/ProfileLoader.js +16 -2
  36. package/dist/profiles/ProfileLoader.js.map +1 -1
  37. package/dist/profiles/ProfileMerger.d.ts +0 -1
  38. package/dist/profiles/ProfileMerger.js +20 -9
  39. package/dist/profiles/ProfileMerger.js.map +1 -1
  40. package/dist/schemas/profile.schema.json +17 -4
  41. package/doc/architecture.md +29 -7
  42. package/doc/file_structure.md +9 -1
  43. package/doc/state_writeback_strategy.md +8 -0
  44. package/package.json +16 -1
  45. package/requirements/OFTR-001-project-foundation.md +1 -1
  46. package/requirements/OFTR-003-profiles.md +14 -5
  47. package/requirements/OFTR-004-sync-and-setup.md +11 -1
  48. package/requirements/OFTR-006-agent-adapters.md +2 -0
  49. package/requirements/OFTR-009-release-publishing.md +13 -3
  50. package/requirements/OFTR-010-onboarding-welcome.md +27 -17
  51. package/skills/outfitter/SKILL.md +68 -0
  52. package/src/schemas/profile.schema.json +17 -4
package/README.md CHANGED
@@ -138,13 +138,15 @@ outfitter setup https://github.com/my_account/outfitter_config
138
138
  `outfitter setup` requires an interactive terminal on both stdin and stdout.
139
139
  When a repository is provided, it clones or updates the repository in Outfitter's shared repository cache, then uses it as a non-overwriting starting point:
140
140
 
141
- - if `~/.outfitter/settings.yml` does not exist, Outfitter copies the starter `settings.yml`;
142
- - if starter profiles exist, Outfitter copies missing profile files into `~/.outfitter/profiles/`;
143
- - existing user settings and profile files are otherwise left unchanged;
144
- - after setup, Outfitter runs the same sync behavior used by `outfitter sync`;
141
+ - interactive setup-source onboarding shows the Outfitter welcome first, explains which source is being imported, asks whether to install profiles into user home or the current project, then asks one source-profile/default prompt;
142
+ - if the user chooses home and `~/.outfitter/settings.yml` does not exist, Outfitter copies the starter `settings.yml`;
143
+ - if the user chooses project and `<project>/.outfitter/settings.yml` does not exist, Outfitter copies the starter `settings.yml` and ensures `./profiles` is exposed;
144
+ - if starter profiles exist, Outfitter copies missing profile files into the selected `profiles/` folder;
145
+ - existing settings and profile files are otherwise left unchanged;
146
+ - after setup, Outfitter runs the same sync behavior used by `outfitter sync`, then offers to start with the selected default profile or shows both `outfitter` and `outfitter --profile <profile>` start commands;
145
147
  - on initial interactive first-run setup, Outfitter skips the older default-profile prompt and lets welcome onboarding choose the generated local default profile;
146
- - outside that initial welcome handoff, Outfitter shows a short setup wizard that lists synced profiles and writes the selected default profile to user settings;
147
- - interactive setup continues into welcome onboarding to record role and loadout choices.
148
+ - outside that initial welcome handoff and outside setup-source import onboarding, Outfitter shows a short setup wizard that lists synced profiles and writes the selected default profile to user settings;
149
+ - no-source interactive setup continues into welcome onboarding to record role and loadout choices.
148
150
 
149
151
  A setup repository can use either root-level Outfitter files:
150
152
 
@@ -208,8 +210,10 @@ An initial profile shape is:
208
210
  ```yaml
209
211
  id: engineering-default
210
212
  label: Engineering Default
213
+ description: General software engineering profile for coding, tests, reviews, and repo navigation.
211
214
  inherits:
212
215
  - base-typescript
216
+ - shared-prose
213
217
 
214
218
  controls:
215
219
  model: anthropic/claude-sonnet-4
@@ -217,11 +221,48 @@ controls:
217
221
  TEAM_MODE: engineering
218
222
  ```
219
223
 
224
+ Set `template: true` on profiles such as `shared-prose` that should only be inherited by runnable profiles, not selected directly with `outfitter run`.
225
+
220
226
  The exact stable schema is governed by the requirements in `requirements/` and the JSON Schema files in `src/schemas/`, which are still expected to evolve with implementation.
221
227
 
222
- Pi profiles can also ship DeepWork jobs for that profile under `cli_specific/pi/deepwork/jobs/`.
228
+ Profiles can also ship DeepWork jobs for that profile under `deepwork/jobs/`.
223
229
  When Outfitter launches Pi, it adds contributing profile job folders to `DEEPWORK_ADDITIONAL_JOBS_FOLDERS` so the DeepWork frontend can discover profile-owned workflows without copying them into a project `.deepwork/jobs/` directory.
224
230
  By default, profiles with bundled jobs receive only their profile-bundled jobs; set `controls.pi.allow_external_deepwork_jobs: true` to also include inherited `DEEPWORK_ADDITIONAL_JOBS_FOLDERS` entries.
231
+ Pi-specific job overrides remain supported under `cli_specific/pi/deepwork/jobs/`.
232
+
233
+ ### Updating profile-managed Pi extensions
234
+
235
+ Profiles can request Pi extensions with `controls.pi.extensions`, for example:
236
+
237
+ ```yaml
238
+ controls:
239
+ pi:
240
+ extensions:
241
+ - git:github.com/ai-outfitter/deepwork
242
+ ```
243
+
244
+ For normal users, extension updates should flow through the profile rather than
245
+ through hand-edited Pi cache directories:
246
+
247
+ 1. If your profile is remote-managed, run `outfitter sync` to fetch the latest
248
+ Outfitter settings and profile sources.
249
+ 2. Confirm the active profile names the desired extension source, such as
250
+ `git:github.com/ai-outfitter/deepwork` after a repository move.
251
+ 3. Start a new Outfitter-managed Pi session with `outfitter` or
252
+ `outfitter run --profile <profile>`. Restart any already-running Pi session;
253
+ newly registered tools and extension code are only loaded when Pi starts or
254
+ reloads resources.
255
+
256
+ `outfitter sync` updates Outfitter's own remote profile/settings cache. Pi still
257
+ owns installation and loading of the `git:` extension declared by the resolved
258
+ profile. Outfitter keeps Pi's `git/` and `tmp/` state paths persistent across
259
+ runs so installed extensions are reusable, but users should not need one-off
260
+ scripts that modify temporary extension cache paths.
261
+
262
+ If an extension still appears stale after syncing profiles and restarting Pi,
263
+ check the resolved profile first. A future Outfitter command may add a
264
+ first-class extension-cache refresh path, but direct cache surgery is a
265
+ troubleshooting fallback rather than the normal update flow.
225
266
 
226
267
  ## Design direction
227
268
 
@@ -235,8 +276,6 @@ The current recommendation is to build `outfitter` around pi's existing native c
235
276
  5. Decide per profile whether project-local `.pi` overrides are allowed.
236
277
  6. Keep the wrapper responsible for anything that must happen before pi starts, such as selecting config directories, setting credentials, or choosing session locations.
237
278
 
238
- See [`recommendation.md`](./recommendation.md) for current notes on pi startup behavior and wrapper strategy.
239
-
240
279
  ## Status
241
280
 
242
281
  This repository is under phased implementation.
@@ -17,4 +17,5 @@ export declare const controlAliases: readonly [{
17
17
  export declare const mergeAgentSpecificControls: <T extends ProfileControls>(controls: ProfileControls, agentKey: "pi" | "claude") => T;
18
18
  export declare const flagValue: (flag: string, value: string | undefined) => readonly string[];
19
19
  export declare const repeatFlag: (flag: string, values: readonly string[] | undefined) => readonly string[];
20
+ export declare const repeatFlagValue: (flag: string, value: string | readonly string[] | undefined) => readonly string[];
20
21
  export declare const findUnsupportedControlNames: (controls: Readonly<Record<string, unknown>>, supportedControls: ReadonlySet<string>, knownControls?: ReadonlySet<string>) => string[];
@@ -38,6 +38,12 @@ export const mergeAgentSpecificControls = (controls, agentKey) => {
38
38
  };
39
39
  export const flagValue = (flag, value) => value === undefined ? [] : [flag, value];
40
40
  export const repeatFlag = (flag, values) => values === undefined ? [] : values.flatMap((value) => [flag, value]);
41
+ export const repeatFlagValue = (flag, value) => {
42
+ if (value === undefined) {
43
+ return [];
44
+ }
45
+ return typeof value === 'string' ? [flag, value] : repeatFlag(flag, value);
46
+ };
41
47
  export const findUnsupportedControlNames = (controls, supportedControls, knownControls = genericControlNames) => {
42
48
  const controlNames = new Set(Object.keys(controls));
43
49
  const unsupported = [];
@@ -1 +1 @@
1
- {"version":3,"file":"AdapterProfileControls.js","sourceRoot":"","sources":["../../src/agents/AdapterProfileControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdapterProfileControls.js","sourceRoot":"","sources":["../../src/agents/AdapterProfileControls.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  // Provides the Claude Code adapter for composite profile generation and native launch plans.
2
2
  import { join } from 'node:path';
3
- import { findUnsupportedControlNames, flagValue, mergeAgentSpecificControls, repeatFlag, supportedControlNames, } from '../AdapterProfileControls.js';
3
+ import { findUnsupportedControlNames, flagValue, mergeAgentSpecificControls, repeatFlag, repeatFlagValue, supportedControlNames, } from '../AdapterProfileControls.js';
4
4
  import { createDeclaredStatePaths, findProfileStateSource } from '../AdapterStatePaths.js';
5
5
  import { createCompositeProfile } from '../../compositeProfile/CompositeProfile.js';
6
6
  import { createCompositeProfileFile } from '../../compositeProfile/CompositeProfileFile.js';
@@ -103,7 +103,7 @@ const createClaudeArgs = (controls) => [
103
103
  ...flagValue('--model', controls.model),
104
104
  ...flagValue('--effort', controls.thinking),
105
105
  ...flagValue('--system-prompt', controls.systemPrompt),
106
- ...flagValue('--append-system-prompt', controls.appendSystemPrompt),
106
+ ...repeatFlagValue('--append-system-prompt', controls.appendSystemPrompt),
107
107
  ...repeatFlag('--plugin-dir', controls.extensions),
108
108
  ...(controls.args ?? []),
109
109
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeAdapter.js","sourceRoot":"","sources":["../../../src/agents/claude/ClaudeAdapter.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,2BAA2B,EAC3B,SAAS,EACT,0BAA0B,EAC1B,UAAU,EACV,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAI3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAE5F,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IAC7C,OAAO;IACP,UAAU;IACV,aAAa;IACb,MAAM;IACN,kBAAkB;IAClB,mBAAmB;IACnB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,sBAAsB;IACtB,IAAI;IACJ,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,OAAO;IACP,UAAU;IACV,aAAa;IACb,MAAM;IACN,kBAAkB;IAClB,mBAAmB;IACnB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG;IAClC,eAAe,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IAC1G,SAAS,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IAC/G,SAAS,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IAC/G,WAAW,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IACjH,UAAU,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IAChH,WAAW,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACvG,QAAQ,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACpG,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;CAC9B,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAiB,EAAE,CAAC,CAAC;IACtD,EAAE,EAAE,QAAQ;IACZ,iBAAiB,EAAE,qBAAqB,CAAC,8BAA8B,CAAC;IACxE,UAAU,EAAE,2BAA2B;IACvC,sBAAsB,CAAC,OAAgB,EAAE,KAAK;QAC5C,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,KAAK,CAAC,aAAa,EACnB;YACE,0BAA0B,CAAC;gBACzB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,YAAY,EAAE,wBAAwB;gBACtC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gBAC7G,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,QAAQ,EAAE,WAAW;aACtB,CAAC;SACH,EACD,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CACvC,CAAC;QAEF,OAAO;YACL,gBAAgB;YAChB,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,CAChD,CAAC,WAAW,EAAE,EAAE,CAAC,sDAAsD,WAAW,IAAI,CACvF;SACF,CAAC;IACJ,CAAC;IACD,gBAAgB,CACd,gBAAkC,EAClC,OAAiB,EACjB,kBAAqC,EAAE;QAEvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QAE9D,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC;YACzD,GAAG,EAAE;gBACH,GAAG,QAAQ,CAAC,WAAW;gBACvB,iBAAiB,EAAE,gBAAgB,CAAC,aAAa;aAClD;SACF,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,OAAgB;QACrC,OAAO,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAC7B,OAAgB,EAChB,KAGC,EACqC,EAAE;IACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvD,OAAO,wBAAwB,CAAC;QAC9B,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,2BAA2B;QACzC,OAAO;QACP,iBAAiB,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAC7C,4BAA4B,CAC1B,KAAK,CAAC,cAAc,IAAI,EAAE,EAC1B,KAAK,CAAC,aAAa,EACnB,YAAY,EACZ,SAAS,EACT,QAAQ,CAAC,gBAAgB,CAC1B;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CACnC,cAAiC,EACjC,aAAiC,EACjC,YAAoB,EACpB,SAAkB,EAClB,gBAAoC,EAC5B,EAAE;IACV,MAAM,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAEpF,IAAI,YAAY,KAAK,WAAW,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnE,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAEhG,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,IAAI;IACT,qGAAqG;IACrG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EACxC,SAAS,EACT,sBAAsB,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAAyB,EAAyB,EAAE,CAC/E,0BAA0B,CAAwB,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAExE,MAAM,gBAAgB,GAAG,CAAC,QAA+B,EAAqB,EAAE,CAAC;IAC/E,GAAG,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC;IACvC,GAAG,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC3C,GAAG,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC;IACtD,GAAG,SAAS,CAAC,wBAAwB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACnE,GAAG,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC;IAClD,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,QAAyB,EAAqB,EAAE;IAC/E,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IAE1F,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,WAAW,CAAC,IAAI,CACd,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,WAAW,EAAE,CAAC,CAClH,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"ClaudeAdapter.js","sourceRoot":"","sources":["../../../src/agents/claude/ClaudeAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  // Provides the pi adapter for composite profile generation and native pi launch plans.
2
2
  import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
3
- import { delimiter, join } from 'node:path';
4
- import { flagValue, genericControlNames, mergeAgentSpecificControls, repeatFlag, supportedControlNames, } from '../AdapterProfileControls.js';
3
+ import { delimiter, dirname, join } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { flagValue, genericControlNames, mergeAgentSpecificControls, repeatFlag, repeatFlagValue, supportedControlNames, } from '../AdapterProfileControls.js';
5
6
  import { createDeclaredStatePaths, findProfileStateSource } from '../AdapterStatePaths.js';
6
7
  import { filterPiSettingsPackagesDuplicatingExtensions } from './PiSettingsMergePolicy.js';
7
8
  import { createCompositeProfile } from '../../compositeProfile/CompositeProfile.js';
@@ -17,6 +18,7 @@ const piStatePathDeclarations = {
17
18
  'settings.json': { defaultStrategy: 'symlink', allowedStrategies: ['symlink', 'warn', 'error', 'prompt'] },
18
19
  'mcp.json': { defaultStrategy: 'symlink', allowedStrategies: ['symlink', 'warn', 'error', 'prompt'] },
19
20
  'models.json': { defaultStrategy: 'symlink', allowedStrategies: ['symlink', 'warn', 'error', 'prompt'] },
21
+ 'trust.json': { defaultStrategy: 'symlink', allowedStrategies: ['symlink', 'warn', 'error', 'prompt'] },
20
22
  'plugins/': { defaultStrategy: 'symlink', allowedStrategies: ['symlink', 'discard', 'warn', 'error', 'prompt'] },
21
23
  'cache/': { defaultStrategy: 'symlink', allowedStrategies: ['symlink', 'discard', 'warn', 'error'] },
22
24
  'sessions/': { defaultStrategy: 'symlink', allowedStrategies: ['symlink', 'discard', 'warn', 'error'] },
@@ -150,20 +152,23 @@ const resolvePiStateSourcePath = (profileFolders, homeDirectory, cacheDirectory,
150
152
  homeDirectory ?? process.env.HOME ?? '.', '.pi', 'agent', normalizedRelativePath);
151
153
  };
152
154
  const deepWorkAdditionalJobsFoldersEnv = 'DEEPWORK_ADDITIONAL_JOBS_FOLDERS';
155
+ const packageRootDirectory = join(dirname(fileURLToPath(import.meta.url)), '..', '..', '..');
156
+ const builtInOutfitterSkill = join(packageRootDirectory, 'skills', 'outfitter');
153
157
  const createPiSkillSources = (controls, profileFolders) => [
154
- ...new Set([...(controls.skills ?? []), ...profileFolders.flatMap(piSkillSourcesForProfile)]),
158
+ ...new Set([builtInOutfitterSkill, ...(controls.skills ?? []), ...profileFolders.flatMap(skillSourcesForProfile)]),
155
159
  ];
156
- const piSkillSourcesForProfile = (profileFolder) => {
157
- const skillsFolder = join(profileFolder, 'cli_specific', 'pi', 'skills');
158
- return readOptionalDirectoryEntries(skillsFolder, 'profile Pi skills folder')
159
- .filter(isPiSkillEntry(skillsFolder))
160
- .map((entry) => join(skillsFolder, entry.name))
161
- .sort();
162
- };
160
+ const skillSourcesForProfile = (profileFolder) => [
161
+ ...skillSourcesForFolder(join(profileFolder, 'skills'), 'profile skills folder'),
162
+ ...skillSourcesForFolder(join(profileFolder, 'cli_specific', 'pi', 'skills'), 'profile Pi skills folder'),
163
+ ];
164
+ const skillSourcesForFolder = (skillsFolder, description) => readOptionalDirectoryEntries(skillsFolder, description)
165
+ .filter(isPiSkillEntry(skillsFolder))
166
+ .map((entry) => join(skillsFolder, entry.name))
167
+ .sort();
163
168
  const isPiSkillEntry = (folderPath) => (entry) => entry.isDirectory() && isFile(join(folderPath, entry.name, 'SKILL.md'));
164
169
  const createDeepWorkAdditionalJobsFolders = (controls, profileFolders) => {
165
170
  const profileJobFolders = [
166
- ...new Set(profileFolders.map(deepWorkJobsFolderForProfile).filter(isExistingDeepWorkJobsFolder)),
171
+ ...new Set(profileFolders.flatMap(deepWorkJobsFoldersForProfile).filter(isExistingDeepWorkJobsFolder)),
167
172
  ];
168
173
  if (profileJobFolders.length === 0) {
169
174
  return undefined;
@@ -174,7 +179,10 @@ const createDeepWorkAdditionalJobsFolders = (controls, profileFolders) => {
174
179
  return [...splitPathList(existingValue), ...profileJobFolders].join(delimiter);
175
180
  };
176
181
  const allowExternalDeepWorkJobs = (controls) => controls.allowExternalDeepWorkJobs === true || controls.allow_external_deepwork_jobs === true;
177
- const deepWorkJobsFolderForProfile = (profileFolder) => join(profileFolder, 'cli_specific', 'pi', 'deepwork', 'jobs');
182
+ const deepWorkJobsFoldersForProfile = (profileFolder) => [
183
+ join(profileFolder, 'deepwork', 'jobs'),
184
+ join(profileFolder, 'cli_specific', 'pi', 'deepwork', 'jobs'),
185
+ ];
178
186
  const isExistingDeepWorkJobsFolder = (folderPath) => readOptionalDirectoryEntries(folderPath, 'profile DeepWork jobs folder').some(isDeepWorkJobEntry(folderPath));
179
187
  const isDeepWorkJobEntry = (folderPath) => (entry) => entry.isDirectory() && isFile(join(folderPath, entry.name, 'job.yml'));
180
188
  const readOptionalDirectoryEntries = (folderPath, description) => {
@@ -212,7 +220,7 @@ const createPiArgs = (controls) => [
212
220
  ...flagValue('--session-dir', controls.sessionDirectory),
213
221
  ...flagValue('--prompt-template', controls.promptTemplate),
214
222
  ...flagValue('--system-prompt', controls.systemPrompt),
215
- ...flagValue('--append-system-prompt', controls.appendSystemPrompt),
223
+ ...repeatFlagValue('--append-system-prompt', controls.appendSystemPrompt),
216
224
  ...repeatFlag('--extension', controls.extensions),
217
225
  ...repeatFlag('--skill', controls.skills),
218
226
  ...(controls.args ?? []),
@@ -1 +1 @@
1
- {"version":3,"file":"PiAdapter.js","sourceRoot":"","sources":["../../../src/agents/pi/PiAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PiAdapter.js","sourceRoot":"","sources":["../../../src/agents/pi/PiAdapter.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,18 @@
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { Command } from 'commander';
4
4
  import { createProfileCommands } from './commands/profile/Command.js';
5
- import { createRunCommand } from './commands/RunCommand.js';
5
+ import { createRunCommand, executeRunCommand } from './commands/RunCommand.js';
6
6
  import { createSetupCommand } from './commands/SetupCommand.js';
7
7
  import { createSyncCommand } from './commands/SyncCommand.js';
8
8
  import { createWelcomeCommand } from './commands/WelcomeCommand.js';
9
9
  export const createDefaultCommands = () => [
10
10
  createRunCommand(),
11
- createSetupCommand(),
11
+ createSetupCommand({
12
+ /* v8 ignore next -- covered by end-to-end CLI smoke usage; unit tests inject this dependency. */
13
+ async launchSetupSourceProfile(input) {
14
+ await executeRunCommand({ ...input, profileId: input.profileId });
15
+ },
16
+ }),
12
17
  createSyncCommand(),
13
18
  createWelcomeCommand(),
14
19
  ...createProfileCommands(),
@@ -1 +1 @@
1
- {"version":3,"file":"OutfitterCli.js","sourceRoot":"","sources":["../../src/cli/OutfitterCli.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAoB,EAAE,CAAC;IAC1D,gBAAgB,EAAE;IAClB,kBAAkB,EAAE;IACpB,iBAAiB,EAAE;IACnB,oBAAoB,EAAE;IACtB,GAAG,qBAAqB,EAAE;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAqC,qBAAqB,EAAE,EAAW,EAAE;IAC9G,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,gFAAgF,CAAC;SAC7F,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAW,EAAE;IACtC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAwB,CAAC;IAE7F,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC,CAAC"}
1
+ {"version":3,"file":"OutfitterCli.js","sourceRoot":"","sources":["../../src/cli/OutfitterCli.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAoB,EAAE,CAAC;IAC1D,gBAAgB,EAAE;IAClB,kBAAkB,CAAC;QACjB,iGAAiG;QACjG,KAAK,CAAC,wBAAwB,CAAC,KAAK;YAClC,MAAM,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC;KACF,CAAC;IACF,iBAAiB,EAAE;IACnB,oBAAoB,EAAE;IACtB,GAAG,qBAAqB,EAAE;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAqC,qBAAqB,EAAE,EAAW,EAAE;IAC9G,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,gFAAgF,CAAC;SAC7F,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAW,EAAE;IACtC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAwB,CAAC;IAE7F,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC,CAAC"}
@@ -14,7 +14,7 @@ export const persistFirstRunWelcomeProfile = (homeDirectory, settingsPath, welco
14
14
  if (createdProfile) {
15
15
  if (options.sourceProfileDirectory !== undefined && existsSync(options.sourceProfileDirectory)) {
16
16
  cpSync(options.sourceProfileDirectory, profileDirectory, { recursive: true, force: false });
17
- updateCopiedProfile(profilePath, welcomeProfile.extensions);
17
+ updateCopiedProfile(profilePath, welcomeProfile.description, welcomeProfile.extensions);
18
18
  excludeDefaultProfileSources(settingsPath, welcomeProfile.id);
19
19
  messages.push(`Copied the ${welcomeProfile.label} profile locally so your extension choices can be edited at ${profilePath}.`);
20
20
  }
@@ -37,26 +37,29 @@ const createFirstRunWelcomeProfile = (welcomeResult, selectedRole) => {
37
37
  return {
38
38
  id: profileId,
39
39
  label: selectedRole.label,
40
- content: createFirstRunWelcomeProfileContent(profileId, selectedRole.label, rolePrompt, extensions),
40
+ description: selectedRole.description,
41
+ content: createFirstRunWelcomeProfileContent(profileId, selectedRole.label, selectedRole.description, rolePrompt, extensions),
41
42
  extensions,
42
43
  };
43
44
  };
44
45
  const firstRunWelcomeRolePrompts = {
46
+ founder: "You are operating as a founder-operator agent: builder, product thinker, research auditor, dense-prose editor, and careful operator. Do not behave like a generic senior engineer or a pure project manager.\n\nThe repo is the brain. Chat history is transient. Durable facts, decisions, requirements, plans, review outcomes, and lessons belong in project files when the work is substantive.\n\nIf the user's intent and acceptance criteria are clear, proceed without needless confirmation. Ask briefly when missing information would materially change the artifact, risk profile, or implementation path.\n\nFor nontrivial work, keep a visible task list with one in-progress item and checkable completion conditions. Requirements and milestone specs should use RFC 2119 keywords and acceptance criteria that can be checked from repo state or named external evidence.\n\nUse DeepWork, reviews, tests, browser evidence, source checks, or human-meaningful validation before calling substantive work done.\n\nOptimize substantive prose for density. Remove filler, keep every sentence load-bearing, preserve nuance, and avoid summaries that erase interesting claims.\n\nNumbers, market claims, schedules, legal or regulatory claims, current facts, prices, and recommendations require source checks when there is a meaningful chance of drift or high-stakes error.\n\nNever push, tag, merge, publish, deploy, send external messages, type credentials, make payments, perform legal filings, mutate production, or make irreversible data changes without explicit user approval.",
45
47
  engineer: 'You are operating as an engineering-focused coding agent.\nPrioritize maintainable implementation, clear tests, concise diffs, and verification evidence.\nBefore changing code, inspect the existing project conventions and reuse established patterns.',
46
48
  data_analyst: 'You are operating as a data-analysis-focused agent.\nPrioritize careful data inspection, reproducible analysis steps, clear assumptions, and actionable summaries.\nWhen data or methodology is uncertain, call out limitations and validation checks explicitly.',
47
49
  };
48
- const createFirstRunWelcomeProfileContent = (profileId, roleLabel, rolePrompt, extensions) => {
49
- const lines = [`id: ${profileId}`, `label: ${roleLabel}`, 'controls:'];
50
+ const createFirstRunWelcomeProfileContent = (profileId, roleLabel, roleDescription, rolePrompt, extensions) => {
51
+ const lines = [`id: ${profileId}`, `label: ${roleLabel}`, `description: ${roleDescription}`, 'controls:'];
50
52
  if (extensions.length > 0) {
51
53
  lines.push(' pi:', ' extensions:', ...extensions.map((extension) => ` - ${extension}`));
52
54
  }
53
55
  lines.push(' append_system_prompt: |', ...rolePrompt.split('\n').map((line) => ` ${line}`), '');
54
56
  return lines.join('\n');
55
57
  };
56
- const updateCopiedProfile = (profilePath, extensions) => {
58
+ const updateCopiedProfile = (profilePath, description, extensions) => {
57
59
  const profile = readRecord(parse(readFileSync(profilePath, 'utf8')));
58
60
  const controls = readRecord(profile.controls);
59
61
  const piControls = readRecord(controls.pi);
62
+ profile.description ??= description;
60
63
  controls.extensions = [];
61
64
  piControls.extensions = [...extensions];
62
65
  controls.pi = piControls;
@@ -1 +1 @@
1
- {"version":3,"file":"FirstRunWelcomeProfile.js","sourceRoot":"","sources":["../../../src/cli/commands/FirstRunWelcomeProfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FirstRunWelcomeProfile.js","sourceRoot":"","sources":["../../../src/cli/commands/FirstRunWelcomeProfile.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,83 @@
1
1
  // Adds first-run Pi login startup behavior without handling credentials in Outfitter.
2
2
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
3
  import { dirname, join } from 'node:path';
4
+ const outfitterSkillMessage = 'No profile set up. Outfitter will open `/outfitter` automatically so you can configure a profile.';
4
5
  const manualLoginMessage = 'Pi does not appear to be logged in yet. After Pi starts, run `/login` and choose a subscription such as Codex or provide an API key from another model provider.';
5
6
  const automaticLoginMessage = 'Pi does not appear to be logged in yet. Outfitter will open `/login` automatically after Pi starts.';
6
7
  const nonInteractivePiLaunchFlags = new Set(['--print', '-p', '--mode', '--export', '--list-models']);
7
8
  export const preparePiLoginLaunchPlan = (input) => {
8
- if (input.adapterId !== 'pi' || hasConfiguredPiLoginState(input.homeDirectory)) {
9
+ if (input.adapterId !== 'pi') {
9
10
  return input.launchPlan;
10
11
  }
11
- if (shouldAutoOpenPiLogin(input.setupResult, input.launchPlan.args)) {
12
- writePiLoginMessage(input.writeLine, automaticLoginMessage);
13
- return addPiLoginPrefillExtension(input.launchPlan);
12
+ // Load the Outfitter runtime extension for every interactive pi session. It brands the
13
+ // startup header today and is the home for future Outfitter↔pi integration. The header
14
+ // text is compiled into pi, so a launch-time extension is the only repo-local override.
15
+ // Non-interactive launches (--print, --export, …) keep pi untouched.
16
+ let launchPlan = input.launchPlan;
17
+ if (!isNonInteractivePiLaunch(input.launchPlan.args)) {
18
+ launchPlan = addExtension(launchPlan, 'outfitter-extension.js', piOutfitterExtensionContent);
14
19
  }
15
- writePiLoginMessage(input.writeLine, manualLoginMessage);
16
- return input.launchPlan;
20
+ if (!hasConfiguredPiLoginState(input.homeDirectory)) {
21
+ if (shouldAutoOpenPiLogin(input.setupResult, input.launchPlan.args)) {
22
+ writePiLoginMessage(input.writeLine, automaticLoginMessage);
23
+ return addExtension(launchPlan, 'prefill-login-extension.js', piLoginPrefillExtensionContent);
24
+ }
25
+ writePiLoginMessage(input.writeLine, manualLoginMessage);
26
+ return launchPlan;
27
+ }
28
+ if (shouldAutoOpenOutfitterSkill(input.setupResult, input.launchPlan.args)) {
29
+ writePiLoginMessage(input.writeLine, outfitterSkillMessage);
30
+ return addExtension(launchPlan, 'prefill-outfitter-extension.js', piOutfitterPrefillExtensionContent);
31
+ }
32
+ return launchPlan;
17
33
  };
18
- const addPiLoginPrefillExtension = (launchPlan) => {
19
- const extensionPath = join(launchPlan.env.PI_CODING_AGENT_DIR, 'outfitter', 'prefill-login-extension.js');
34
+ const addExtension = (launchPlan, fileName, content) => {
35
+ const extensionPath = join(launchPlan.env.PI_CODING_AGENT_DIR, 'outfitter', fileName);
20
36
  mkdirSync(dirname(extensionPath), { recursive: true });
21
- writeFileSync(extensionPath, piLoginPrefillExtensionContent);
37
+ writeFileSync(extensionPath, content);
22
38
  return { ...launchPlan, args: ['--extension', extensionPath, ...launchPlan.args] };
23
39
  };
40
+ // The general Outfitter pi extension. Currently brands the startup header with an
41
+ // Outfitter + pi line; extend its session_start handler for further integration.
42
+ const piOutfitterExtensionContent = `export default function outfitter(pi) {
43
+ pi.on("session_start", (_event, ctx) => {
44
+ if (ctx.mode !== "tui") return;
45
+ ctx.ui.setHeader((_tui, theme) => {
46
+ const lines = [
47
+ theme.bold(theme.fg("accent", "Outfitter")) + theme.fg("dim", " + pi"),
48
+ theme.fg("muted", "/ commands · ! bash · ctrl+o more"),
49
+ "",
50
+ theme.fg(
51
+ "dim",
52
+ "Outfitter + Pi can explain its own features and look up its docs. Ask it how to use or extend Pi or outfitter profiles.",
53
+ ),
54
+ ];
55
+ return {
56
+ render: () => lines,
57
+ invalidate: () => undefined,
58
+ };
59
+ });
60
+ });
61
+ }
62
+ `;
63
+ const piOutfitterPrefillExtensionContent = `export default function outfitterSkillPrefill(pi) {
64
+ pi.on("session_start", async (_event, ctx) => {
65
+ ctx.ui.setEditorText("/outfitter");
66
+ ctx.ui.notify("Outfitter is opening /outfitter to help you set up your profile.", "info");
67
+ await ctx.ui.custom((tui, _theme, _keybindings, done) => {
68
+ setTimeout(() => {
69
+ tui.focusedComponent?.handleInput?.("\\r");
70
+ done();
71
+ }, 25);
72
+
73
+ return {
74
+ render: () => [],
75
+ invalidate: () => undefined,
76
+ };
77
+ }, { overlay: true, overlayOptions: { nonCapturing: true, visible: () => false } });
78
+ });
79
+ }
80
+ `;
24
81
  const piLoginPrefillExtensionContent = `export default function outfitterLoginPrefill(pi) {
25
82
  pi.on("session_start", async (_event, ctx) => {
26
83
  ctx.ui.setEditorText("/login");
@@ -43,6 +100,7 @@ const writePiLoginMessage = (writeLine, message) => {
43
100
  /* v8 ignore next -- console fallback is direct CLI behavior; tests inject a writer for login messages. */
44
101
  (writeLine ?? console.log)(message);
45
102
  };
103
+ const shouldAutoOpenOutfitterSkill = (setupResult, args) => setupResult?.welcomeResult?.answered === false && !isNonInteractivePiLaunch(args);
46
104
  const shouldAutoOpenPiLogin = (setupResult, args) => setupResult?.welcomeResult !== undefined && !isNonInteractivePiLaunch(args);
47
105
  const isNonInteractivePiLaunch = (args) => args.some((arg) => nonInteractivePiLaunchFlags.has(arg));
48
106
  const hasConfiguredPiLoginState = (homeDirectory) => hasConfiguredPiStateFile(homeDirectory, 'auth.json') || hasConfiguredPiStateFile(homeDirectory, 'models.json');
@@ -1 +1 @@
1
- {"version":3,"file":"PiLoginLaunch.js","sourceRoot":"","sources":["../../../src/cli/commands/PiLoginLaunch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PiLoginLaunch.js","sourceRoot":"","sources":["../../../src/cli/commands/PiLoginLaunch.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAa1C,MAAM,qBAAqB,GACzB,mGAAmG,CAAC;AAEtG,MAAM,kBAAkB,GACtB,kKAAkK,CAAC;AAErK,MAAM,qBAAqB,GACzB,qGAAqG,CAAC;AAExG,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAA6B,EAAmB,EAAE;IACzF,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,UAAU,CAAC;IAC1B,CAAC;IAED,uFAAuF;IACvF,uFAAuF;IACvF,wFAAwF;IACxF,qEAAqE;IACrE,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,UAAU,GAAG,YAAY,CAAC,UAAU,EAAE,wBAAwB,EAAE,2BAA2B,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACpD,IAAI,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;YAC5D,OAAO,YAAY,CAAC,UAAU,EAAE,4BAA4B,EAAE,8BAA8B,CAAC,CAAC;QAChG,CAAC;QAED,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACzD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,4BAA4B,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAC5D,OAAO,YAAY,CAAC,UAAU,EAAE,gCAAgC,EAAE,kCAAkC,CAAC,CAAC;IACxG,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,UAA2B,EAAE,QAAgB,EAAE,OAAe,EAAmB,EAAE;IACvG,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtF,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEtC,OAAO,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACrF,CAAC,CAAC;AAEF,kFAAkF;AAClF,iFAAiF;AACjF,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;CAoBnC,CAAC;AAEF,MAAM,kCAAkC,GAAG;;;;;;;;;;;;;;;;;CAiB1C,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;CAiBtC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,SAAkD,EAAE,OAAe,EAAQ,EAAE;IACxG,0GAA0G;IAC1G,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,WAA2C,EAAE,IAAuB,EAAW,EAAE,CACrH,WAAW,EAAE,aAAa,EAAE,QAAQ,KAAK,KAAK,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAEpF,MAAM,qBAAqB,GAAG,CAAC,WAA2C,EAAE,IAAuB,EAAW,EAAE,CAC9G,WAAW,EAAE,aAAa,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAE9E,MAAM,wBAAwB,GAAG,CAAC,IAAuB,EAAW,EAAE,CACpE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE3D,MAAM,yBAAyB,GAAG,CAAC,aAAqB,EAAW,EAAE,CACnE,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,wBAAwB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAEjH,MAAM,wBAAwB,GAAG,CAAC,aAAqB,EAAE,QAAgB,EAAW,EAAE;IACpF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEhE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,KAAc,EAAW,EAAE;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,KAA0C,CAAC;IAC1D,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC"}
@@ -213,11 +213,14 @@ const loadResolvedProfile = (input) => {
213
213
  const resolution = resolveProfile({
214
214
  profiles: loadedProfiles.profiles,
215
215
  profileId,
216
- defaultProfileId: loadedSettings.settings.defaultProfile,
217
216
  });
218
217
  if (resolution.profile === undefined || resolution.issues.length > 0) {
219
218
  throw new Error(`Cannot resolve profile '${profileId}': ${resolution.issues.map(formatProfileIssue).join('; ')}`);
220
219
  }
220
+ const selectedProfile = resolution.profileStack.find((profile) => profile.id === profileId);
221
+ if (selectedProfile.template === true) {
222
+ throw new Error(`Profile '${profileId}' is a template profile and must be inherited by a runnable profile.`);
223
+ }
221
224
  return {
222
225
  profile: resolution.profile,
223
226
  profileLayers: findContributingLoadedProfiles(resolution.profileStack, loadedProfiles.profiles),