pi-soly 1.9.2 → 1.9.3

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 (3) hide show
  1. package/commands.ts +8 -1
  2. package/core.ts +6 -3
  3. package/package.json +1 -1
package/commands.ts CHANGED
@@ -51,6 +51,7 @@ export interface CommandUI {
51
51
  notify: (text: string, kind?: "info" | "warning" | "error") => void;
52
52
  select: (label: string, options: string[]) => Promise<number | null>;
53
53
  confirm: (title: string, message: string) => Promise<boolean>;
54
+ input?: (label: string, placeholder?: string) => Promise<string | undefined>;
54
55
  }
55
56
 
56
57
  export interface CommandsDeps {
@@ -430,7 +431,13 @@ What must the LLM do?
430
431
  | "minimal" | "web-app" | "library" | "cli" | undefined) ?? undefined;
431
432
  const autoYes = args.includes("--yes");
432
433
  const projectName = args.match(/--name[= ](\S+)/)?.[1];
433
- await initSolyProject(ctx.cwd, ui, { template, autoYes, projectName });
434
+ const initUi = {
435
+ notify: (t: string, k?: "info" | "warning" | "error") => ctx.ui.notify(t, k ?? "info"),
436
+ select: async (label: string, options: string[]) => ctx.ui.select(label, options),
437
+ confirm: (title: string, message: string) => ctx.ui.confirm(title, message),
438
+ input: (label: string, placeholder?: string) => ctx.ui.input(label, placeholder),
439
+ };
440
+ await initSolyProject(ctx.cwd, initUi, { template, autoYes, projectName });
434
441
  },
435
442
  });
436
443
 
package/core.ts CHANGED
@@ -26,7 +26,10 @@ import * as path from "node:path";
26
26
  export type RuleSource =
27
27
  | "project-soly"
28
28
  | "global-soly"
29
- | "phase-soly";
29
+ | "phase-soly"
30
+ | "project-agents"
31
+ | "global-agents"
32
+ | "phase-agents";
30
33
 
31
34
  export interface RuleFrontmatter {
32
35
  description?: string;
@@ -59,7 +62,7 @@ export interface RuleFile {
59
62
  enabled: boolean;
60
63
  mtimeMs: number;
61
64
  source: RuleSource;
62
- sourceLabel: "soly" | "phase" | "local";
65
+ sourceLabel: "soly" | "phase" | "local" | "agents";
63
66
  priority: number; // higher wins on relPath collision
64
67
  /** Phase number for phase-scoped rules; undefined otherwise. */
65
68
  phaseNumber?: number;
@@ -70,7 +73,7 @@ export interface RuleFile {
70
73
  export interface SourceSpec {
71
74
  dir: string;
72
75
  source: RuleSource;
73
- sourceLabel: "soly" | "phase" | "local";
76
+ sourceLabel: "soly" | "phase" | "local" | "agents";
74
77
  priority: number; // higher wins on relPath collision
75
78
  /** Optional phase number (for phase-scoped sources). */
76
79
  phaseNumber?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-soly",
3
- "version": "1.9.2",
3
+ "version": "1.9.3",
4
4
  "description": "Project management + workflow engine for pi-coding-agent. Plans, state, MANDATORY rules, multi-question picker — one npm install, zero config. LLM is the executor (no subagent layer).",
5
5
  "type": "module",
6
6
  "main": "index.ts",