@openrig/cli 0.4.7 → 0.4.8
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.
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +120 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +43 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +2 -0
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +4 -7
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +50 -57
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +16 -2
- package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -9
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +13 -46
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +8 -2
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +4 -2
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +10 -5
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/pi-resume.d.ts +1 -1
- package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-resume.js +7 -2
- package/daemon/dist/adapters/pi-resume.js.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js +4 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +23 -0
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -0
- package/daemon/dist/adapters/yolo-mode.js +49 -0
- package/daemon/dist/adapters/yolo-mode.js.map +1 -0
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/migrations/055_node_permission_policy.d.ts +13 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.js +17 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.js.map +1 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +13 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.js +17 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.js.map +1 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +19 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +1 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.js +26 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.js.map +1 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +15 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +1 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.js +22 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +1 -0
- package/daemon/dist/domain/builtin-policy-reference.d.ts +13 -0
- package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -0
- package/daemon/dist/domain/builtin-policy-reference.js +58 -0
- package/daemon/dist/domain/builtin-policy-reference.js.map +1 -0
- package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +11 -4
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.js +2 -2
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts +89 -0
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-ref.js +171 -0
- package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts +34 -0
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-spec.js +106 -0
- package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +14 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +90 -6
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +10 -1
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +45 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +75 -1
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +6 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.js +8 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +18 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +187 -8
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +35 -1
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +25 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +5 -0
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +7 -1
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +4 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +2 -0
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +17 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +2 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/rigs.js +8 -0
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +17 -1
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/rig-spec.md +19 -0
- package/daemon/policies/builtin/locked.policy.md +24 -0
- package/daemon/policies/builtin/open.policy.md +24 -0
- package/daemon/policies/builtin/standard.policy.md +25 -0
- package/daemon/policies/builtin/yolo.policy.md +20 -0
- package/daemon/policies/examples/my-cautious-dev.policy.md +40 -0
- package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +1 -20
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +0 -2
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +1 -0
- package/dist/build-info.js +3 -3
- package/dist/commands/setup.d.ts +14 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +131 -8
- package/dist/commands/setup.js.map +1 -1
- package/package.json +1 -1
- package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +0 -43
- package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +0 -87
- package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +0 -84
- package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +0 -129
- package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +0 -98
- package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +0 -113
- package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +0 -76
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -148
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +0 -266
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +0 -213
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/CREATION-LOG.md +0 -119
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-academic.md +0 -14
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-1.md +0 -58
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-2.md +0 -68
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-3.md +0 -69
package/dist/commands/setup.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Command } from "commander";
|
|
|
2
2
|
import { execSync } from "node:child_process";
|
|
3
3
|
import { readFileSync, writeFileSync, existsSync, accessSync, constants, mkdirSync } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
|
+
import { parseDocument } from "yaml";
|
|
5
6
|
import { runDoctorChecks } from "./doctor.js";
|
|
6
7
|
import { ConfigStore } from "../config-store.js";
|
|
7
8
|
import { CMUX_SETTINGS_DISCLOSURE_PATH, isCmuxSocketControlCompatible, readCmuxSocketControlModeFromText, resolveCmuxSettingsPath, upsertCmuxSocketControlMode, } from "../cmux-config.js";
|
|
@@ -23,12 +24,8 @@ const CORE_STEP_IDS = [
|
|
|
23
24
|
];
|
|
24
25
|
const FULL_EXTRA_STEP_IDS = ["jq_install", "gh_install"];
|
|
25
26
|
const BASE_RUNTIME_CONFIG_DISCLOSURE = [
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
runtime: "claude-code",
|
|
29
|
-
path: "~/.claude/settings.json",
|
|
30
|
-
purpose: "Allow OpenRig commands without Claude permission prompts.",
|
|
31
|
-
},
|
|
27
|
+
// OPR.0.4.8.2 agnostic rip-out: OpenRig no longer writes ~/.claude/settings.json — the global
|
|
28
|
+
// permission allow-list (C2) is removed, so that global file is no longer touched at all.
|
|
32
29
|
{
|
|
33
30
|
scope: "global",
|
|
34
31
|
runtime: "claude-code",
|
|
@@ -39,7 +36,7 @@ const BASE_RUNTIME_CONFIG_DISCLOSURE = [
|
|
|
39
36
|
scope: "project",
|
|
40
37
|
runtime: "claude-code",
|
|
41
38
|
path: ".claude/settings.local.json",
|
|
42
|
-
purpose: "Apply context-collector statusLine config and
|
|
39
|
+
purpose: "Apply context-collector statusLine config and the acceptEdits floor fragment. OpenRig bakes NO allow/ask/deny permission policy — the harness-native permissions are the control surface.",
|
|
43
40
|
},
|
|
44
41
|
{
|
|
45
42
|
scope: "project",
|
|
@@ -166,6 +163,92 @@ async function probeDaemonCmuxStatus(doctorDeps) {
|
|
|
166
163
|
return "unavailable";
|
|
167
164
|
}
|
|
168
165
|
}
|
|
166
|
+
// Slice-03 Lane B (OPR.0.4.8) onboarding RECORD path. RULING-C (b4913ed4): the v1 onboarding menu
|
|
167
|
+
// EDITS/RECORDS a deliberate policy choice into an EXISTING RigSpec only — a NEW INSTALL has no spec,
|
|
168
|
+
// so nothing is written and the floor holds by ABSENCE. Persistence is the RigSpec `permission_policy`
|
|
169
|
+
// field ONLY (P6 fence: no config.json / daemon-state widening). The record is a least-destructive
|
|
170
|
+
// YAML edit (parse -> set the one key -> serialize), never a codec re-emit that could drop keys.
|
|
171
|
+
// chosen built-in -> permission_policy: builtin:<name> (Seam-B ref semantics)
|
|
172
|
+
// deliberate-none -> permission_policy: none (origin deliberate_none; floor==absent)
|
|
173
|
+
// P3: the record runs ONLY on an explicit --policy selection, NEVER on skip/quit/timeout (no flag =>
|
|
174
|
+
// no step => bare setup byte-unchanged). P1: no path here upgrades an absent spec to deliberate_none.
|
|
175
|
+
export const POLICY_CHOICES = ["locked", "standard", "open", "yolo", "none"];
|
|
176
|
+
// Root-spec filenames, matching the CLI's established file-or-directory spec convention
|
|
177
|
+
// (see specs.ts resolveAddSpecSource + `rig up <source>`).
|
|
178
|
+
const ROOT_SPEC_NAMES = ["rig.yaml", "rig.yml", "agent.yaml", "agent.yml"];
|
|
179
|
+
function policyRefFor(choice) {
|
|
180
|
+
// Deliberate-none is the explicit reserved value; every built-in name carries the MANDATORY
|
|
181
|
+
// `builtin:` prefix (bare canonical names never resolve — anti-shadowing, policy-ref.ts A1).
|
|
182
|
+
return choice === "none" ? "none" : `builtin:${choice}`;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Resolve `specPath` to a readable EXISTING root spec file, or null. Accepts a direct file path or a
|
|
186
|
+
* directory containing a root spec. Uses deps.readFile as the read+existence probe (null = absent), so
|
|
187
|
+
* the resolver stays fs-injectable and never mints a spec — RULING-C: no scaffold-authoring here.
|
|
188
|
+
*/
|
|
189
|
+
function resolveExistingSpecPath(deps, specPath) {
|
|
190
|
+
if (deps.readFile(specPath) !== null)
|
|
191
|
+
return specPath;
|
|
192
|
+
for (const name of ROOT_SPEC_NAMES) {
|
|
193
|
+
const candidate = path.join(specPath, name);
|
|
194
|
+
if (deps.readFile(candidate) !== null)
|
|
195
|
+
return candidate;
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Record a deliberate policy choice into an existing spec, returning the `policy_record` SetupStep.
|
|
201
|
+
* Only called when the operator explicitly passed --policy (P3). Unknown choice or no resolvable
|
|
202
|
+
* existing spec => a `fail` step and NOTHING is written (P1 + RULING-C new-install-writes-nothing).
|
|
203
|
+
*/
|
|
204
|
+
function recordPermissionPolicyStep(deps, choice, specPath) {
|
|
205
|
+
if (!POLICY_CHOICES.includes(choice)) {
|
|
206
|
+
return {
|
|
207
|
+
id: "policy_record",
|
|
208
|
+
status: "fail",
|
|
209
|
+
message: `Unknown policy choice '${choice}'.`,
|
|
210
|
+
reason: `--policy must be one of: ${POLICY_CHOICES.join(", ")}.`,
|
|
211
|
+
fixHint: `Re-run with --policy <${POLICY_CHOICES.join("|")}>.`,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
const resolved = specPath ? resolveExistingSpecPath(deps, specPath) : null;
|
|
215
|
+
if (!resolved) {
|
|
216
|
+
return {
|
|
217
|
+
id: "policy_record",
|
|
218
|
+
status: "fail",
|
|
219
|
+
message: "No existing rig spec to record the policy into.",
|
|
220
|
+
reason: "The onboarding menu records a policy choice into an EXISTING spec only. A new install has no spec, so nothing is written — the usability floor holds by absence.",
|
|
221
|
+
fixHint: "Point --spec at an existing rig.yaml (or a directory containing one), then re-run `rig setup --policy`.",
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
const ref = policyRefFor(choice);
|
|
225
|
+
try {
|
|
226
|
+
const raw = deps.readFile(resolved) ?? "";
|
|
227
|
+
// Comment-preserving least-destructive edit: parseDocument retains comment TEXT (top + inline),
|
|
228
|
+
// key ORDER, QUOTING, and STRUCTURE; we set ONLY the permission_policy key and re-serialize. (Honest
|
|
229
|
+
// API limit: pre-`#` padding may normalize — this is a text/structure preserve, not a byte-image of
|
|
230
|
+
// arbitrary whitespace.) A plain parse->stringify would DROP every comment — pinned by the test above.
|
|
231
|
+
const doc = parseDocument(raw);
|
|
232
|
+
doc.set("permission_policy", ref);
|
|
233
|
+
deps.writeFile(resolved, String(doc));
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
return {
|
|
237
|
+
id: "policy_record",
|
|
238
|
+
status: "fail",
|
|
239
|
+
message: `Could not record the policy into ${resolved}: ${err.message}`,
|
|
240
|
+
reason: "The spec could not be parsed or written; no partial change was applied.",
|
|
241
|
+
fixHint: "Repair the spec YAML, then re-run `rig setup --policy`.",
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
return {
|
|
245
|
+
id: "policy_record",
|
|
246
|
+
status: "applied",
|
|
247
|
+
message: choice === "none"
|
|
248
|
+
? `Recorded a deliberate no-policy choice (permission_policy: none) into ${resolved}.`
|
|
249
|
+
: `Recorded permission_policy: ${ref} into ${resolved}.`,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
169
252
|
export async function runSetup(deps, opts) {
|
|
170
253
|
const profile = opts.full ? "full" : "core";
|
|
171
254
|
const platform = deps.platform ?? process.platform;
|
|
@@ -176,6 +259,9 @@ export async function runSetup(deps, opts) {
|
|
|
176
259
|
for (const id of stepIds) {
|
|
177
260
|
steps.push({ id, status: "skipped", message: `Dry run: ${id} would be attempted.` });
|
|
178
261
|
}
|
|
262
|
+
if (opts.policy !== undefined) {
|
|
263
|
+
steps.push({ id: "policy_record", status: "skipped", message: `Dry run: would record permission_policy for '${opts.policy}'.` });
|
|
264
|
+
}
|
|
179
265
|
return { profile, platform, ready: false, steps, runtimeConfig };
|
|
180
266
|
}
|
|
181
267
|
// Core steps
|
|
@@ -527,6 +613,11 @@ export async function runSetup(deps, opts) {
|
|
|
527
613
|
})),
|
|
528
614
|
};
|
|
529
615
|
}
|
|
616
|
+
// P3: record a deliberate policy choice ONLY when --policy was explicitly passed (never on a bare
|
|
617
|
+
// run). No flag => no policy_record step => bare setup byte-unchanged (anchor 1).
|
|
618
|
+
if (opts.policy !== undefined) {
|
|
619
|
+
steps.push(recordPermissionPolicyStep(deps, opts.policy, opts.specPath));
|
|
620
|
+
}
|
|
530
621
|
// ready = no fail statuses in steps or verification checks
|
|
531
622
|
const stepsFailed = steps.some((s) => s.status === "fail");
|
|
532
623
|
const verificationFailed = verification?.checks.some((c) => c.status === "fail") ?? false;
|
|
@@ -573,16 +664,43 @@ export function goldenPathNextSteps() {
|
|
|
573
664
|
" 5. rig scope ... Browse the durable mission/slice artifacts the workflow coordinates",
|
|
574
665
|
];
|
|
575
666
|
}
|
|
667
|
+
/**
|
|
668
|
+
* Slice-03 Lane B (OPR.0.4.8) onboarding menu copy. The 0.4.8 lineage has no TUI, so the "menu" is
|
|
669
|
+
* calm-register narrative text presenting the permission-policy choice. Copy is FROZEN + founder-picked
|
|
670
|
+
* (missions/.../MENU-COPY-FROZEN-2026-08-04): verbatim `Policy Mode`/`YOLO Mode` labels, the NAME
|
|
671
|
+
* "Operator" never appears (YOLO Mode is the user-facing label for it), the exact deliberate-none and
|
|
672
|
+
* skip-line phrasing, NO pre-selected default, and `Standard` carries the ⭐ recommendation marker.
|
|
673
|
+
* REGISTER RULE (pm-lead): factual + version-neutral — never "treacherous"/editorializing/
|
|
674
|
+
* founder-internal wording. Recording is a thought, never a gate — `rig up` always works bare.
|
|
675
|
+
*/
|
|
676
|
+
export function permissionPolicyMenuLines() {
|
|
677
|
+
return [
|
|
678
|
+
"Permission policy (optional — recording is a thought, not a gate; `rig up` always works without one):",
|
|
679
|
+
" Policy Mode:",
|
|
680
|
+
" Locked The most restrictive built-in policy.",
|
|
681
|
+
" Standard ⭐ The recommended balanced built-in policy.",
|
|
682
|
+
" Open The least restrictive built-in policy.",
|
|
683
|
+
" YOLO Mode The full-bypass built-in policy.",
|
|
684
|
+
" No policy — deliberate choice (recorded)",
|
|
685
|
+
"",
|
|
686
|
+
" If you skip: OpenRig sets nothing — the usability floor only",
|
|
687
|
+
"",
|
|
688
|
+
" To record a choice into an existing spec:",
|
|
689
|
+
" rig setup --policy <locked|standard|open|yolo|none> --spec <path>",
|
|
690
|
+
];
|
|
691
|
+
}
|
|
576
692
|
export function setupCommand(depsOverride) {
|
|
577
693
|
const cmd = new Command("setup").description("Prepare the machine for OpenRig");
|
|
578
694
|
cmd
|
|
579
695
|
.option("--dry-run", "Show the plan without making changes")
|
|
580
696
|
.option("--json", "Machine-readable JSON output")
|
|
581
697
|
.option("--full", "Install broader operator workstation tools")
|
|
698
|
+
.option("--policy <name>", `Record a deliberate permission-policy choice into an existing spec (${POLICY_CHOICES.join("|")})`)
|
|
699
|
+
.option("--spec <path>", "Existing rig spec (file or directory) to record the --policy choice into")
|
|
582
700
|
.action(async (opts) => {
|
|
583
701
|
const deps = depsOverride ?? defaultDeps();
|
|
584
702
|
const doctorDeps = opts.dryRun ? undefined : buildDefaultDoctorDeps(deps);
|
|
585
|
-
const result = await runSetup(deps, { dryRun: opts.dryRun, full: opts.full, doctorDeps });
|
|
703
|
+
const result = await runSetup(deps, { dryRun: opts.dryRun, full: opts.full, policy: opts.policy, specPath: opts.spec, doctorDeps });
|
|
586
704
|
if (opts.json) {
|
|
587
705
|
console.log(JSON.stringify(result, null, 2));
|
|
588
706
|
if (!opts.dryRun && !result.ready)
|
|
@@ -604,6 +722,11 @@ export function setupCommand(depsOverride) {
|
|
|
604
722
|
if (step.fixHint)
|
|
605
723
|
console.log(` Fix: ${step.fixHint}`);
|
|
606
724
|
}
|
|
725
|
+
// Surface the permission-policy choice (the 0.4.8 onboarding "menu" is calm-register narrative,
|
|
726
|
+
// not a TUI). Recording is optional and never a gate.
|
|
727
|
+
console.log("");
|
|
728
|
+
for (const line of permissionPolicyMenuLines())
|
|
729
|
+
console.log(line);
|
|
607
730
|
// OPR.0.3.3.04.2 (AC-1): the canonical ordered golden path. `rig setup` is
|
|
608
731
|
// the primary surface for the new-operator sequence (status/doctor only
|
|
609
732
|
// HINT back to it; the durable reference is docs/reference/getting-started.md).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA6C9E,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,0BAA0B,GAAG,CAAC,GAAG,MAAM,CAAC;AAC9C,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC,MAAM,aAAa,GAAG;IACpB,MAAM;IACN,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,QAAQ;CACT,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AACzD,MAAM,8BAA8B,GAA8B;IAChE;QACE,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,2DAA2D;KACrE;IACD;QACE,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,mEAAmE;KAC7E;IACD;QACE,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,oGAAoG;KAC9G;IACD;QACE,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,uDAAuD;KACjE;IACD;QACE,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,0FAA0F;KACpG;CACF,CAAC;AAEF,MAAM,gCAAgC,GAA4B;IAChE,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,6BAA6B;IACnC,OAAO,EAAE,mEAAmE;CAC7E,CAAC;AAEF,SAAS,WAAW;IAClB,OAAO;QACL,IAAI,EAAE,CAAC,GAAW,EAAE,IAA6B,EAAE,EAAE,CACnD,QAAQ,CAAC,GAAG,EAAE;YACZ,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI,EAAE,SAAS,IAAI,0BAA0B;YACtD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC;QACJ,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC,CAAC,CAAC;QAC5F,SAAS,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;QACjE,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAe,EAAE,GAAW;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAe,EAAE,QAAQ,GAAG,mBAAmB;IACpF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,KAAK,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAe,EAAE,QAAyB;IAC5E,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,YAAY,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,iCAAiC,CAAC,YAAY,CAAC,CAAC;IACpE,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,2BAA2B,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;QACzF,CAAC;QACD,OAAO,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,+GAA+G;IACjH,CAAC;IAED,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAyB;IAC7D,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,CAAC,GAAG,8BAA8B,EAAE,gCAAgC,CAAC;QACvE,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAAuB;IAC1D,MAAM,OAAO,GAAG,UAAU,EAAE,KAAK,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,2BAA2B,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,OAAO,aAAa,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAe,EAAE,IAAmE;IACjH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,aAAa,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACnE,CAAC;IAED,aAAa;IACb,uCAAuC;IACvC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,qDAAqD;SAC/D,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,MAAM;gBACV,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,yDAAyD;gBACjE,OAAO,EAAE,mCAAmC;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU;IACV,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kCAAkC,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC,CAAC;QAChJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;YAClG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA4B,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,uBAAuB,CAAC,SAAS,CAAC,MAAM,IAAI,8BAA8B,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,cAAc;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,GAAG;SACrB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,UAAU;IACV,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAC/F,IAAI,QAAQ,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,mCAAmC;gBAC5C,MAAM,EAAE,2BAA2B,6BAA6B,KAAK,UAAU,CAAC,KAAK,EAAE;gBACvF,OAAO,EAAE,kEAAkE;aAC5E,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpF,IAAI,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC/C,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAI,eAAe,KAAK,aAAa,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,cAAc;wBAClB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,kFAAkF;wBAC3F,MAAM,EAAE,8GAA8G;wBACtH,OAAO,EAAE,qGAAqG;qBAC/G,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,cAAc;wBAClB,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,oFAAoF;qBAC9F,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,cAAc;oBAClB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,gFAAgF;oBACzF,MAAM,EAAE,oGAAoG;oBAC5G,OAAO,EAAE,uDAAuD,6BAA6B,+CAA+C;iBAC7I,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,gBAAgB,KAAK,aAAa,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,6EAA6E;gBACtF,MAAM,EAAE,6IAA6I;gBACrJ,OAAO,EAAE,sHAAsH;aAChI,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEzB,IAAI,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC/C,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAI,eAAe,KAAK,aAAa,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,cAAc;wBAClB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,wFAAwF;wBACjG,MAAM,EAAE,gHAAgH;wBACxH,OAAO,EAAE,qGAAqG;qBAC/G,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,cAAc;wBAClB,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,8DAA8D;qBACxE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,cAAc;oBAClB,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBAC/C,OAAO,EAAE,yCAAyC;oBAClD,MAAM,EAAE,6DAA6D;oBACrE,OAAO,EAAE,QAAQ,KAAK,QAAQ;wBAC5B,CAAC,CAAC,uDAAuD,6BAA6B,+CAA+C;wBACrI,CAAC,CAAC,kFAAkF;iBACvF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;oBACjD,IAAI,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;wBACzF,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;oBAClG,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,IAAI,CAAC;4BACT,EAAE,EAAE,cAAc;4BAClB,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;4BAC/C,OAAO,EAAE,mDAAmD;4BAC5D,MAAM,EAAE,oFAAoF;4BAC5F,OAAO,EAAE,kFAAkF;yBAC5F,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,cAAc;wBAClB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,2BAA4B,GAAa,CAAC,OAAO,EAAE;wBAC5D,MAAM,EAAE,gFAAgF;wBACxF,OAAO,EAAE,2FAA2F;qBACrG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,yBAAyB;IACzB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,eAAe,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9B,eAAe,GAAG,IAAI,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,gBAAgB;gBACpB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,kCAAmC,GAAa,CAAC,OAAO,EAAE;gBACnE,MAAM,EAAE,+FAA+F;gBACvG,OAAO,EAAE,sEAAsE;aAChF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,aAAa;gBACjB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,qDAAsD,GAAa,CAAC,OAAO,EAAE;gBACtF,MAAM,EAAE,4FAA4F;gBACpG,OAAO,EAAE,mHAAmH;aAC7H,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,wCAAwC;YACjD,MAAM,EAAE,0EAA0E;SACnF,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7B,cAAc,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,cAAc,GAAG,IAAI,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,eAAe;gBACnB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,4BAA6B,GAAa,CAAC,OAAO,EAAE;gBAC7D,MAAM,EAAE,wFAAwF;gBAChG,OAAO,EAAE,oDAAoD;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,+CAAgD,GAAa,CAAC,OAAO,EAAE;gBAChF,MAAM,EAAE,qFAAqF;gBAC7F,OAAO,EAAE,wFAAwF;aAClG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,YAAY;YAChB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,kCAAkC;YAC3C,MAAM,EAAE,oEAAoE;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IACjB,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;IAC7D,MAAM,cAAc,GAAG,yBAAyB,CAAC;IACjD,MAAM,aAAa,GAAG;QACpB,cAAc;QACd,iBAAiB;QACjB,4BAA4B;QAC5B,SAAS,cAAc,EAAE;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAClD,iCAAiC;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAC/B,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,CAAC,EAC9I,aAAa,CACd,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC;QAC9G,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC,CAAC;QAC/G,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAkC,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,YAAY;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACjC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,qEAAqE,CAAC,CAAC,CAAC,sBAAsB;KAClH,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9G,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,cAAc,CAAC,IAAI,EAAE,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;wBAClD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC,CAAC;oBAClG,CAAC;oBAAC,MAAM,CAAC;wBACP,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;oBACnI,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,YAAyC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC;QAC5D,YAAY,GAAG;YACb,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC;IAC1F,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,kBAAkB,CAAC;IAClD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACvG,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAoB;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO;QACP,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,IAAI,WAAW,EAAE;QAC9B,QAAQ,EAAE,QAA2B;QACrC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACxD,aAAa,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;QAC3D,KAAK,EAAE,UAAU,CAAC,KAAK;KACxB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,kFAAkF;QAClF,+GAA+G;QAC/G,4GAA4G;QAC5G,qEAAqE;QACrE,qIAAqI;QACrI,2GAA2G;KAC5G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAwB;IACnD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;IAEhF,GAAG;SACA,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAChD,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,IAA0D,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,YAAY,IAAI,WAAW,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAE1F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;QAEhH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACnK,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,gFAAgF;QAChF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: backlog-capture
|
|
3
|
-
description: "Quickly capture product ideas, feature requests, or insights from meetings and conversations. Rapid documentation with smart categorization and deduplication."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You help a product manager rapidly capture ideas, feature requests, and insights into a structured backlog.
|
|
7
|
-
|
|
8
|
-
## When to Use
|
|
9
|
-
|
|
10
|
-
- After meetings where feature ideas or requests surfaced
|
|
11
|
-
- When a customer or sales rep mentions a need
|
|
12
|
-
- When competitive research reveals a gap
|
|
13
|
-
- When a PM has a shower thought worth recording
|
|
14
|
-
|
|
15
|
-
## Process
|
|
16
|
-
|
|
17
|
-
1. **Take the input** — the PM provides rough text: a meeting quote, a feature idea, a customer request, a competitive gap.
|
|
18
|
-
|
|
19
|
-
2. **Structure it** — produce a one-liner for the backlog with:
|
|
20
|
-
- **Bold name** — short, descriptive feature name
|
|
21
|
-
- **Description** — 1-3 sentences covering: what it is, who it's for, why it matters, where it originated (meeting, customer, competitor)
|
|
22
|
-
- **Epic/area** — which product area it belongs to
|
|
23
|
-
- **Dependencies** — if it relates to existing features or backlog items
|
|
24
|
-
|
|
25
|
-
3. **Check for duplicates** — search the existing backlog for similar items. If a match exists:
|
|
26
|
-
- Update the existing item with new evidence rather than creating a duplicate
|
|
27
|
-
- Add the new source/date to the existing description
|
|
28
|
-
|
|
29
|
-
4. **Append to backlog** — add to the "Ideas Not Yet in Jira" section of the backlog file.
|
|
30
|
-
|
|
31
|
-
## Output Format
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
- **[Feature Name]** — [Description. Who needs it. Why. Origin (meeting/customer/competitor, date).] Belongs under [Epic] epic. [Dependencies if any.]
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Guidelines
|
|
38
|
-
|
|
39
|
-
- **Capture fast, refine later.** The goal is not to lose the idea. Polish comes during prioritization.
|
|
40
|
-
- **Include the source.** "From Acme Corp demo feedback (2026-03-15)" is better than "customers want this."
|
|
41
|
-
- **Convert relative dates to absolute.** "Next Thursday" becomes "2026-04-10."
|
|
42
|
-
- **One idea per entry.** If a meeting produced 5 ideas, create 5 entries.
|
|
43
|
-
- **Don't validate here.** That's what `/office-hours` is for. Just capture.
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: context-builder
|
|
3
|
-
description: "Gather and distill context from meetings, competitors, regulatory sources, and internal discussions. Produces background.md for a feature and updates shared context docs when new knowledge is discovered."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a context research assistant helping a product manager gather and distill all relevant background material for a feature or initiative.
|
|
7
|
-
|
|
8
|
-
## What You Produce
|
|
9
|
-
|
|
10
|
-
1. **background.md** — Feature-specific context summary. Goes in the feature folder. References shared context sources.
|
|
11
|
-
2. **Shared context updates** — When you discover new synthesized knowledge useful across features (e.g., a customer requirements summary, a competitive analysis), write or update the appropriate shared context doc.
|
|
12
|
-
|
|
13
|
-
## Three-Layer Context Model
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
reference/ Layer 3 — Raw sources (meetings, PDFs, documents)
|
|
17
|
-
| distill
|
|
18
|
-
context/ Layer 2 — Synthesized markdown (shared across features)
|
|
19
|
-
| pull relevant
|
|
20
|
-
background.md Layer 1 — Feature-specific context
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Process
|
|
24
|
-
|
|
25
|
-
### Step 1: Understand the Feature
|
|
26
|
-
|
|
27
|
-
Ask the PM:
|
|
28
|
-
- What feature or initiative is this context for?
|
|
29
|
-
- What aspects are most important? (customer needs, competitive, regulatory, technical)
|
|
30
|
-
- Any specific meetings, customers, or competitors to focus on?
|
|
31
|
-
|
|
32
|
-
### Step 2: Search and Gather
|
|
33
|
-
|
|
34
|
-
Search across all layers. Be thorough but focused:
|
|
35
|
-
|
|
36
|
-
- **Validation first**: Check the feature folder for `validation.md` (office hours output). If it exists, it has demand evidence, named customers, competitive status quo, and the narrowest wedge.
|
|
37
|
-
- **Shared context first**: Check if synthesized context already exists.
|
|
38
|
-
- **Meetings**: Search by topic keywords, customer names. Check last 3-6 months.
|
|
39
|
-
- **Competitors**: Check competitor research for existing analysis.
|
|
40
|
-
- **Regulatory**: Find applicable regulations.
|
|
41
|
-
- **Customers**: Look for customer requests and pain points.
|
|
42
|
-
- **Existing specs**: Check for related work and shipped features.
|
|
43
|
-
|
|
44
|
-
### Step 3: Update Shared Context (if new knowledge found)
|
|
45
|
-
|
|
46
|
-
If your research produces synthesized knowledge useful beyond this one feature, write or update the appropriate shared context doc.
|
|
47
|
-
|
|
48
|
-
### Step 4: Write background.md
|
|
49
|
-
|
|
50
|
-
```markdown
|
|
51
|
-
---
|
|
52
|
-
title: "Background: [Feature Name]"
|
|
53
|
-
feature: [feature folder name]
|
|
54
|
-
updated: [today's date]
|
|
55
|
-
sources:
|
|
56
|
-
meetings: [list of meeting file paths]
|
|
57
|
-
competitive: [list of context/reference paths]
|
|
58
|
-
regulatory: [list of relevant regulatory sources]
|
|
59
|
-
customers: [list of customer context paths]
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
# Background: [Feature Name]
|
|
63
|
-
|
|
64
|
-
## Customer Drivers
|
|
65
|
-
[Who's asking and why. Key quotes and pain points.]
|
|
66
|
-
|
|
67
|
-
## Competitive Landscape
|
|
68
|
-
[How competitors handle this. Where we differentiate.]
|
|
69
|
-
|
|
70
|
-
## Regulatory Considerations
|
|
71
|
-
[Applicable regulations and compliance requirements.]
|
|
72
|
-
|
|
73
|
-
## Persona Context
|
|
74
|
-
[Which personas use this. Day-in-the-life context.]
|
|
75
|
-
|
|
76
|
-
## Internal Context
|
|
77
|
-
[Strategic alignment, stakeholder decisions, related initiatives.]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Guidelines
|
|
81
|
-
|
|
82
|
-
- **Reference, don't duplicate.** Point to source files rather than copying content.
|
|
83
|
-
- **Distill, don't dump.** background.md should be under 500 lines.
|
|
84
|
-
- **Include sources for everything.** Every claim traces back to a meeting, report, or decision.
|
|
85
|
-
- **Highlight what's surprising or non-obvious.**
|
|
86
|
-
- **Flag contradictions.** If customers want different things, or data conflicts, call it out.
|
|
87
|
-
- **Date your sources.** Context decays.
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: exec-summary
|
|
3
|
-
description: "Generate a 1-2 page executive summary for a feature — orients sales, leadership, and engineering from a single document."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You generate an executive summary for a feature that's ready for development. The summary orients three audiences from one document: sales (pitch), leadership (strategy), and engineering (behavioral overview).
|
|
7
|
-
|
|
8
|
-
## What You Produce
|
|
9
|
-
|
|
10
|
-
A single `executive-summary.md` file in the feature folder. 600-800 words excluding mockups and FAQ. Written in present tense as if the feature already exists.
|
|
11
|
-
|
|
12
|
-
## Sources to Read
|
|
13
|
-
|
|
14
|
-
Before writing, silently gather all context from the feature folder:
|
|
15
|
-
|
|
16
|
-
1. **requirements.md** — acceptance criteria, business rules, scope, user stories
|
|
17
|
-
2. **background.md** — customer drivers, competitive context, regulatory considerations
|
|
18
|
-
3. **validation.md** — demand evidence, status quo, desperate user, narrowest wedge
|
|
19
|
-
4. **supporting/mockup-ascii.md** — visual mockups (pull 2-3 key screens)
|
|
20
|
-
|
|
21
|
-
## Output Structure
|
|
22
|
-
|
|
23
|
-
```markdown
|
|
24
|
-
---
|
|
25
|
-
title: "Executive Summary: [Feature Name]"
|
|
26
|
-
feature: [feature-folder-name]
|
|
27
|
-
status: [ready | in-progress | shipped]
|
|
28
|
-
jira: [ticket key]
|
|
29
|
-
updated: [today's date]
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
# [Feature Name]
|
|
33
|
-
|
|
34
|
-
## The Problem
|
|
35
|
-
[2-3 sentences. Customer pain in their language. Name real customers/prospects.]
|
|
36
|
-
|
|
37
|
-
## The Solution
|
|
38
|
-
[2-3 sentences. What we built, present tense. No jargon.]
|
|
39
|
-
|
|
40
|
-
## Who It's For
|
|
41
|
-
[Primary personas + named customers/prospects waiting for this.]
|
|
42
|
-
|
|
43
|
-
## Why Now
|
|
44
|
-
[Deals it unblocks, competitive gap it closes, what it enables next.]
|
|
45
|
-
|
|
46
|
-
## How It Works
|
|
47
|
-
[5-8 key capabilities. Describe actual user-facing behavior — enough for a dev to understand what to build.]
|
|
48
|
-
|
|
49
|
-
## Key Decisions
|
|
50
|
-
[5-8 non-obvious business rules and design choices. Focus on surprising or counter-intuitive ones.]
|
|
51
|
-
|
|
52
|
-
## Visual Preview
|
|
53
|
-
[2-3 ASCII mockup screens from supporting/ — the key screens that tell the story.]
|
|
54
|
-
|
|
55
|
-
## What We're NOT Building
|
|
56
|
-
[5-8 key out-of-scope items with brief reason.]
|
|
57
|
-
|
|
58
|
-
## Dependencies & Sequencing
|
|
59
|
-
[What must ship first. Cross-feature dependencies. Prerequisites.]
|
|
60
|
-
|
|
61
|
-
## Success Metrics
|
|
62
|
-
[2-4 measurable outcomes. Mix of usage and business metrics.]
|
|
63
|
-
|
|
64
|
-
## FAQ
|
|
65
|
-
|
|
66
|
-
### For Sales
|
|
67
|
-
[2-3 questions. When available, what to tell prospects, competitive positioning.]
|
|
68
|
-
|
|
69
|
-
### For Leadership
|
|
70
|
-
[2-3 questions. Opportunity cost, strategic fit, risks.]
|
|
71
|
-
|
|
72
|
-
### For Engineering
|
|
73
|
-
[2-3 questions. Dependencies, known risks, what's deferred, data model implications.]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Writing Guidelines
|
|
77
|
-
|
|
78
|
-
- **Present tense throughout.** Write as if the feature exists.
|
|
79
|
-
- **Customer-readable language.** A prospect should understand sections 1-5.
|
|
80
|
-
- **Be specific, not vague.** Name deals, dollar amounts, competitors.
|
|
81
|
-
- **Key Decisions should surprise.** Don't list obvious things.
|
|
82
|
-
- **Mockups are curated.** Pick the 2-3 that tell the story.
|
|
83
|
-
- **FAQ answers should be direct.** No hedging.
|
|
84
|
-
- **Hard cap: 2 pages** for core content. FAQ can be a third page.
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: office-hours
|
|
3
|
-
description: "YC-style product validation using six forcing questions. Pressure-tests a feature idea before it becomes a requirement — ensuring real demand, a clear wedge, and evidence behind assumptions."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a YC-style product advisor running office hours. Your job is to pressure-test a feature idea before it becomes a requirement — ensuring there's real demand, a clear wedge, and evidence behind the assumption.
|
|
7
|
-
|
|
8
|
-
## The Six Forcing Questions
|
|
9
|
-
|
|
10
|
-
Work through these sequentially. Each question builds on the previous answer.
|
|
11
|
-
|
|
12
|
-
### 1. Demand Reality
|
|
13
|
-
"Who is actively asking for this, and what evidence do you have?"
|
|
14
|
-
|
|
15
|
-
- Name specific customers, meetings, or support tickets
|
|
16
|
-
- Distinguish between "customers asked for this" vs "we think customers want this"
|
|
17
|
-
- Search meeting notes and customer records for actual conversations
|
|
18
|
-
- If no evidence: flag it. An assumption isn't demand.
|
|
19
|
-
|
|
20
|
-
### 2. Status Quo
|
|
21
|
-
"How are users solving this problem today, and why is that not good enough?"
|
|
22
|
-
|
|
23
|
-
- Map the current workflow (Excel? Manual? Competitor tool?)
|
|
24
|
-
- Reference persona profiles for current technology stack
|
|
25
|
-
- Quantify the pain: time wasted, errors, cost, compliance risk
|
|
26
|
-
- If the status quo is "fine": question whether this is a real problem
|
|
27
|
-
|
|
28
|
-
### 3. Desperate Specificity
|
|
29
|
-
"Who is the single most desperate user for this, and what does their day look like?"
|
|
30
|
-
|
|
31
|
-
- Get to ONE specific person or company, not a category
|
|
32
|
-
- Walk through their actual workflow step by step
|
|
33
|
-
- What breaks for them? What's the moment of maximum frustration?
|
|
34
|
-
- If nobody is desperate: this might be a "nice to have" not a "must have"
|
|
35
|
-
|
|
36
|
-
### 4. Narrowest Wedge
|
|
37
|
-
"What is the absolute smallest version of this that would solve the desperate user's problem?"
|
|
38
|
-
|
|
39
|
-
- Strip away everything that isn't essential for that one user
|
|
40
|
-
- What's the MVP that, if you shipped it tomorrow, would make them switch?
|
|
41
|
-
- Reference existing capabilities — what already exists?
|
|
42
|
-
- Resist the urge to scope-expand. Narrower is better.
|
|
43
|
-
|
|
44
|
-
### 5. Observation / Surprise
|
|
45
|
-
"What have you observed or learned that surprised you about this problem?"
|
|
46
|
-
|
|
47
|
-
- Non-obvious insights from customer meetings, competitive research, or domain expertise
|
|
48
|
-
- Things the team didn't expect to find
|
|
49
|
-
- Industry-specific patterns or workflow quirks
|
|
50
|
-
- If nothing surprised you: you might not understand the problem deeply enough yet
|
|
51
|
-
|
|
52
|
-
### 6. Future-Fit
|
|
53
|
-
"If this succeeds, what does it unlock? If it fails, what have we learned?"
|
|
54
|
-
|
|
55
|
-
- Does this feature compound? Does it make future features easier?
|
|
56
|
-
- Does it strengthen competitive position or just maintain parity?
|
|
57
|
-
- What's the learning value even if the feature doesn't land?
|
|
58
|
-
|
|
59
|
-
## Process
|
|
60
|
-
|
|
61
|
-
### Step 1: Get the Pitch
|
|
62
|
-
Ask the PM to describe the feature idea in 2-3 sentences. No jargon, no implementation details.
|
|
63
|
-
|
|
64
|
-
### Step 2: Run the Questions
|
|
65
|
-
Work through all six questions. After each answer:
|
|
66
|
-
- Summarize what you heard
|
|
67
|
-
- Rate the strength of the answer (Strong / Needs Work / Red Flag)
|
|
68
|
-
- Ask follow-up probes if the answer is vague
|
|
69
|
-
|
|
70
|
-
### Step 3: Verdict
|
|
71
|
-
|
|
72
|
-
Save the assessment to the feature folder as **`validation.md`**.
|
|
73
|
-
|
|
74
|
-
```markdown
|
|
75
|
-
---
|
|
76
|
-
title: "Validation: [Feature Name]"
|
|
77
|
-
type: validation
|
|
78
|
-
verdict: [GO | REFINE | PAUSE]
|
|
79
|
-
date: [today's date]
|
|
80
|
-
pm: [name]
|
|
81
|
-
feature: [feature-folder-name]
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
# Validation: [Feature Name]
|
|
85
|
-
|
|
86
|
-
## Demand Reality
|
|
87
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
88
|
-
[Summary of evidence. Name customers, deals, dollar amounts.]
|
|
89
|
-
|
|
90
|
-
## Status Quo
|
|
91
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
92
|
-
[Current workflow and pain. What tools they use today.]
|
|
93
|
-
|
|
94
|
-
## Desperate User
|
|
95
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
96
|
-
[The single most desperate user and their breaking point.]
|
|
97
|
-
|
|
98
|
-
## Narrowest Wedge
|
|
99
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
100
|
-
[The smallest thing worth shipping. What's in, what's out.]
|
|
101
|
-
|
|
102
|
-
## Surprise
|
|
103
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
104
|
-
[Non-obvious insights. What the team didn't expect to find.]
|
|
105
|
-
|
|
106
|
-
## Future-Fit
|
|
107
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
108
|
-
[What this unlocks. How it compounds.]
|
|
109
|
-
|
|
110
|
-
## Verdict: [GO / REFINE / PAUSE]
|
|
111
|
-
- **GO**: Strong evidence, clear wedge, proceed to requirements
|
|
112
|
-
- **REFINE**: Promise but gaps — do more research first (list what)
|
|
113
|
-
- **PAUSE**: Insufficient evidence of demand — revisit when evidence emerges
|
|
114
|
-
|
|
115
|
-
## Next Steps
|
|
116
|
-
- [Specific actions — what to do immediately after this assessment]
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
**Naming matters.** This file is read by downstream skills:
|
|
120
|
-
- Context builder reads it for customer drivers and competitive context
|
|
121
|
-
- Requirements writer reads it for demand evidence, scope, and personas
|
|
122
|
-
- Executive summary reads it for the Problem, Why Now, and FAQ sections
|
|
123
|
-
|
|
124
|
-
## Guidelines
|
|
125
|
-
|
|
126
|
-
- **Be constructively skeptical.** Your job is to find weaknesses before the team invests in building.
|
|
127
|
-
- **Push for evidence, not opinions.** "Customers want this" -> "Which customers? When did they say this?"
|
|
128
|
-
- **Don't kill ideas — sharpen them.** Even a PAUSE verdict should include what evidence would change it.
|
|
129
|
-
- **The narrowest wedge is the most valuable question.** Most features are scoped too broadly.
|