@coralai/sps-cli 0.39.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -456,6 +456,7 @@ sps project init <project> [--force]
456
456
 
457
457
  **Created directory structure:**
458
458
 
459
+ SPS management directory (`~/.coral/projects/<project>/`):
459
460
  ```
460
461
  ~/.coral/projects/<project>/
461
462
  ├── conf # Project configuration file (generated from template)
@@ -467,9 +468,21 @@ sps project init <project> [--force]
467
468
  └── deploy.sh # Deployment script template
468
469
  ```
469
470
 
471
+ Target project repo (`<PROJECT_DIR>/.claude/`, installed when the repo path exists):
472
+ ```
473
+ <PROJECT_DIR>/.claude/
474
+ ├── settings.json # Stop + UserPromptSubmit hooks (committed)
475
+ ├── settings.local.json # autoMemoryDirectory (gitignored)
476
+ ├── CLAUDE.md # Project rules skeleton
477
+ ├── hooks/
478
+ │ └── stop.sh # Default Stop hook script (marks COMPLETED-<stage>)
479
+ ├── skills/ # Empty; add project-specific skills here
480
+ └── rules/ # Empty; add path-scoped rules here
481
+ ```
482
+
470
483
  | Option | Description |
471
484
  |--------|-------------|
472
- | `--force` | Overwrite template files (conf will not be overwritten) |
485
+ | `--force` | Overwrite template files (conf will not be overwritten; `.claude/` files are preserved) |
473
486
 
474
487
  **Example:**
475
488
 
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAgCA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAkBD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmQtF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA+CA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAkBD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmQtF"}
@@ -20,13 +20,30 @@
20
20
  */
21
21
  import { execSync } from 'node:child_process';
22
22
  import { appendFileSync, existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
23
- import { resolve } from 'node:path';
23
+ import { dirname, resolve } from 'node:path';
24
+ import { fileURLToPath } from 'node:url';
24
25
  import { resolveGitlabProjectId } from '../core/config.js';
25
26
  import { ProjectContext } from '../core/context.js';
26
27
  import { Logger } from '../core/logger.js';
27
28
  import { checkPathExists } from '../core/paths.js';
28
29
  import { RuntimeStore } from '../core/runtimeStore.js';
29
30
  import { createIdleWorkerSlot, writeState } from '../core/state.js';
31
+ // ─── Template Dir resolution (mirrors projectInit.ts) ────────────
32
+ const __dirname = dirname(fileURLToPath(import.meta.url));
33
+ function findTemplateDir() {
34
+ const npmPath = resolve(__dirname, '..', '..', 'project-template');
35
+ if (existsSync(npmPath))
36
+ return npmPath;
37
+ const srcPath = resolve(__dirname, '..', '..', '..', 'project-template');
38
+ if (existsSync(srcPath))
39
+ return srcPath;
40
+ const HOME = process.env.HOME || '/home/coral';
41
+ const legacyPath = resolve(HOME, 'jarvis-skills', 'coding-work-flow', 'project-template');
42
+ if (existsSync(legacyPath))
43
+ return legacyPath;
44
+ return npmPath;
45
+ }
46
+ const TEMPLATE_DIR = findTemplateDir();
30
47
  /**
31
48
  * conf fields that CLI providers require.
32
49
  * Each entry maps the canonical CLI field → fallback ~/.coral/env field name.
@@ -355,59 +372,25 @@ function checkCliConfFields(ctx, checks, fixes, doFix) {
355
372
  }
356
373
  /**
357
374
  * Generate project-level CLAUDE.md content.
358
- * This file is committed to the repo and inherited by all worktrees.
359
- * Task-specific info (seq, branch) is injected via prompt at worker launch time.
375
+ *
376
+ * Reads the canonical template from `<TEMPLATE_DIR>/.claude/CLAUDE.md` so the
377
+ * content stays in sync with `sps project init`. Falls back to a minimal
378
+ * inline default if the template is missing (shouldn't happen in a well-built
379
+ * npm package, but keeps doctor --fix non-fatal).
360
380
  */
361
- function generateWorkerRules(ctx) {
381
+ function generateWorkerRules(_ctx) {
382
+ const templatePath = resolve(TEMPLATE_DIR, '.claude', 'CLAUDE.md');
383
+ if (existsSync(templatePath)) {
384
+ return readFileSync(templatePath, 'utf-8');
385
+ }
362
386
  return `# Worker Rules (auto-generated by sps doctor --fix)
363
- #
364
- # This file defines rules for the Claude Code worker operating in this
365
- # repository.
366
- #
367
- # You may edit this file to add project-specific coding standards,
368
- # architecture constraints, testing requirements, etc.
369
- # SPS will NOT overwrite this file once it exists.
370
387
 
371
388
  ## Scope
372
389
  - ONLY work in the current working directory
373
390
  - Do NOT read or modify files outside this directory
374
- - Do NOT explore the system, home directory, or other projects
375
-
376
- ## Workflow
377
- 1. Read the task description from your prompt
378
- 2. Implement the changes in this directory
379
- 3. Self-test your changes
380
- 4. git add, commit, and push to the current branch
381
- 5. Verify all changes are pushed
382
- 6. Output "done" when finished
383
-
384
- ## Commit Rules
385
- - Commit frequently (every meaningful change)
386
- - Push after each commit
387
- - Use conventional commit messages (feat:, fix:, refactor:, etc.)
388
-
389
- ## Forbidden
390
- - No PLAN.md, TODO.md, TASKLIST.md, ROADMAP.md, NOTES.md
391
- - No local planning files of any kind
392
- - No changes outside task scope
393
- - Do NOT explore ~/.coral/projects or other system directories
394
-
395
- ## SPS Memory
396
- This project uses SPS persistent memory at ~/.coral/memory/.
397
- Before starting work, read the project memory index:
398
- cat ~/.coral/memory/projects/${ctx.config.PROJECT_NAME}/MEMORY.md 2>/dev/null
399
- When you discover project conventions, architecture decisions, or lessons learned,
400
- write them as memory files. See the sps-memory skill for format and rules.
401
391
 
402
392
  ## Project-Specific Rules
403
- # Add your project's coding standards, architecture constraints,
404
- # testing requirements, and other conventions below:
405
- #
406
- # Examples:
407
- # - Language: TypeScript strict mode
408
- # - Test framework: vitest, 80%+ coverage required
409
- # - Architecture: src/modules/<domain>/ structure
410
- # - Linting: eslint + prettier, must pass before commit
393
+ # Add your project's coding standards here.
411
394
  `;
412
395
  }
413
396
  /**
@@ -415,35 +398,23 @@ write them as memory files. See the sps-memory skill for format and rules.
415
398
  * If --fix, generate missing files and commit them.
416
399
  */
417
400
  /**
418
- * Default .claude/settings.json content. Wires Claude Code native hooks to
419
- * SPS subcommands so the pipeline gets signals (COMPLETED-<stage> label) and
420
- * skill hints without each user writing custom shell.
401
+ * Default .claude/settings.json content.
402
+ *
403
+ * Reads the canonical template from `<TEMPLATE_DIR>/.claude/settings.json` so
404
+ * it stays in sync with `sps project init`. Falls back to a minimal inline
405
+ * default if the template is missing.
421
406
  */
422
407
  function generateClaudeHookSettings() {
423
- return JSON.stringify({
408
+ const templatePath = resolve(TEMPLATE_DIR, '.claude', 'settings.json');
409
+ if (existsSync(templatePath)) {
410
+ return readFileSync(templatePath, 'utf-8');
411
+ }
412
+ return `${JSON.stringify({
424
413
  hooks: {
425
- Stop: [
426
- {
427
- hooks: [
428
- {
429
- type: 'command',
430
- command: 'sps hook stop',
431
- },
432
- ],
433
- },
434
- ],
435
- UserPromptSubmit: [
436
- {
437
- hooks: [
438
- {
439
- type: 'command',
440
- command: 'sps hook user-prompt-submit',
441
- },
442
- ],
443
- },
444
- ],
414
+ Stop: [{ hooks: [{ type: 'command', command: 'bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/stop.sh' }] }],
415
+ UserPromptSubmit: [{ hooks: [{ type: 'command', command: 'sps hook user-prompt-submit' }] }],
445
416
  },
446
- }, null, 2) + '\n';
417
+ }, null, 2)}\n`;
447
418
  }
448
419
  function checkWorkerRulesFiles(ctx, checks, fixes, doFix, gitignoreModified = false) {
449
420
  const repoDir = ctx.paths.repoDir;
@@ -482,6 +453,19 @@ function checkWorkerRulesFiles(ctx, checks, fixes, doFix, gitignoreModified = fa
482
453
  writeFileSync(claudeSettings, generateClaudeHookSettings());
483
454
  created.push('.claude/settings.json');
484
455
  }
456
+ // Install the hook script referenced by settings.json. Without this, the
457
+ // Stop hook command `bash $CLAUDE_PROJECT_DIR/.claude/hooks/stop.sh` fails.
458
+ const stopHookSrc = resolve(TEMPLATE_DIR, '.claude', 'hooks', 'stop.sh');
459
+ const stopHookDst = resolve(repoDir, '.claude', 'hooks', 'stop.sh');
460
+ if (!existsSync(stopHookDst) && existsSync(stopHookSrc)) {
461
+ mkdirSync(resolve(repoDir, '.claude', 'hooks'), { recursive: true });
462
+ writeFileSync(stopHookDst, readFileSync(stopHookSrc, 'utf-8'));
463
+ try {
464
+ execSync(`chmod +x "${stopHookDst}"`, { timeout: 2000 });
465
+ }
466
+ catch { /* non-fatal */ }
467
+ created.push('.claude/hooks/stop.sh');
468
+ }
485
469
  if (created.length > 0 || gitignoreModified) {
486
470
  try {
487
471
  const filesToAdd = [...created];
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGpE,oEAAoE;AACpE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACzE,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAC1F,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;AAUvC;;;;GAIG;AACH;;;GAGG;AACH,MAAM,eAAe,GAA2D;IAC9E,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE;IACnE,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE;IACvE,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,EAAE;IACrF,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,QAAQ,EAAE;CACrF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,KAAkB;IACrE,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAE1B,6BAA6B;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC;IAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,6BAA6B,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,0BAA0B;IAC1B,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IACvG,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,qBAAqB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B;SACxF,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB;IACzB,IAAI,GAAmB,CAAC;IACxB,IAAI,YAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,YAAY,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAClC,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,SAAS,GAAuB;QACpC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC;QACvC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;QAC/B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC;QACrC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC;KACrC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACrC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC/B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,+BAA+B;SACzF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,gDAAgD;IAChD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;IAC/D,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QACpD,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;IACpH,CAAC;IAED,kEAAkE;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,6BAA6B,EAAE,CAAC,CAAC;IACtG,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,0BAA0B,SAAS,EAAE,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,gBAAgB;IAChB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,cAAc,KAAK,CAAC,UAAU,aAAa,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,iBAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE;aAC9I,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB;QAC1D,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC;QACnI,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;IACjH,CAAC;IAED,yBAAyB;IACzB,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC5G,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC,CAAC;IAC1H,CAAC;IAED,yEAAyE;IACzE,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC3B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1B,sBAAsB;QACtB,mFAAmF;QACnF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QAChD,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CACvB,8DAA8D,WAAW,MAAM,SAAS,oBAAoB,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAClM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtC,CAAC,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,SAAS,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;gBACvG,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,IAAI,OAAO,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC3G,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,IAAI,EAAE,CAAC;gBACzD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,0BAA0B;oBAClE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB;wBACtD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,yBAAyB;4BACxD,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,oEAAoE;QACpE,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;YAC9C,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC3D,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACvD,IAAI,QAAQ,IAAI,QAAQ,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;gBAC7D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,GAAG,QAAQ,sBAAsB,cAAc,aAAa,cAAc,GAAG,CAAC;oBAC7F,MAAM,QAAQ,GAAG,QAAQ,CACvB,0DAA0D,QAAQ,MAAM,MAAM,GAAG,EACjF,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtC,CAAC,IAAI,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACpC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;wBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,QAAQ,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;oBACrG,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,IAAI,OAAO,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACxG,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sGAAsG,EAAE,CAAC,CAAC;YAClK,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC;QACH,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,6BAA6B;IAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,SAAS,EAAE,EAAE,CAAC,CAAC;IAEpG,kEAAkE;IAClE,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAElC,oDAAoD;QACpD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;gBACzD,UAAU,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QAED,+CAA+C;QAC/C,MAAM,KAAK,GAAiB;YAC1B,OAAO,EAAE,CAAC;YACV,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE,EAAE;YACpB,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,EAAE;SACrB,CAAC;QAEF,0DAA0D;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC;QACxD,CAAC;QAED,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAE7C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gBAAgB,UAAU,mEAAmE;SACvG,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,GAAmB,EACnB,MAAqB,EACrB,KAAe,EACf,KAAc;IAEd,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,6CAA6C;YAC7C,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,EAAE;oBAC3B,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,yBAAyB,KAAK,CAAC,QAAQ,mBAAmB;iBAClF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACrG,OAAO;IACT,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,+BAA+B;QAC/B,MAAM,KAAK,GAAa;YACtB,EAAE;YACF,2DAA2D;SAC5D,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnC,6BAA6B;gBAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS,OAAO,CAAC,MAAM,yBAAyB;SAC1D,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,EAAE;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,sBAAsB,KAAK,CAAC,QAAQ,qCAAqC;aACjG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,IAAoB;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO;;;;;;;;CAQR,CAAC;AACF,CAAC;AAED;;;GAGG;AACH;;;;;;GAMG;AACH,SAAS,0BAA0B;IACjC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC,EAAE,CAAC;YACrG,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,EAAE,CAAC;SAC7F;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAmB,EACnB,MAAqB,EACrB,KAAe,EACf,KAAc,EACd,oBAA6B,KAAK;IAElC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,WAAW,CAAC;IACjC,MAAM,WAAW,GAAG,WAAW,IAAI,iBAAiB,CAAC;IACrD,MAAM,YAAY,GAAG;QACnB,WAAW,IAAI,WAAW;QAC1B,iBAAiB,IAAI,uBAAuB;KAC7C,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAE9B,IAAI,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClH,CAAC;SAAM,IAAI,WAAW,IAAI,iBAAiB,IAAI,KAAK,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,QAAQ,CACN,gDAAgD,EAChD,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACpE,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE,CAAC,CAAC;QACvI,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,kDAAkD,EAAE,CAAC,CAAC;QAClJ,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,aAAa,CAAC,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxC,CAAC;QAED,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC;gBAAC,QAAQ,CAAC,aAAa,WAAW,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;gBAChC,IAAI,iBAAiB;oBAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAErD,QAAQ,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC7E,QAAQ,CACN,6DAA6D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACvF,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACpE,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,WAAW,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACvH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oCAAoC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1G,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW,YAAY,kCAAkC;SACnE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,qEAAqE;AAErE,iEAAiE;AACjE,MAAM,UAAU,GAA8D;IAC5E,EAAE,IAAI,EAAE,UAAU,EAAI,SAAS,EAAE,sBAAsB,EAAI,UAAU,EAAE,SAAS,EAAE;IAClF,EAAE,IAAI,EAAE,SAAS,EAAK,SAAS,EAAE,qBAAqB,EAAK,UAAU,EAAE,SAAS,EAAE;IAClF,EAAE,IAAI,EAAE,MAAM,EAAQ,SAAS,EAAE,kBAAkB,EAAQ,UAAU,EAAE,WAAW,EAAE;IACpF,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE;IAClF,EAAE,IAAI,EAAE,IAAI,EAAU,SAAS,EAAE,gBAAgB,EAAU,UAAU,EAAE,SAAS,EAAE;IAClF,EAAE,IAAI,EAAE,MAAM,EAAQ,SAAS,EAAE,kBAAkB,EAAQ,UAAU,EAAE,WAAW,EAAE;CACrF,CAAC;AAEF,MAAM,aAAa,GAA0C;IAC3D,EAAE,IAAI,EAAE,UAAU,EAAI,SAAS,EAAE,sBAAsB,EAAE;IACzD,EAAE,IAAI,EAAE,SAAS,EAAK,SAAS,EAAE,qBAAqB,EAAE;IACxD,EAAE,IAAI,EAAE,MAAM,EAAQ,SAAS,EAAE,kBAAkB,EAAE;IACrD,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,wBAAwB,EAAE;IAC3D,EAAE,IAAI,EAAE,IAAI,EAAU,SAAS,EAAE,gBAAgB,EAAE;IACnD,EAAE,IAAI,EAAE,MAAM,EAAQ,SAAS,EAAE,kBAAkB,EAAE;CACtD,CAAC;AAEF,wEAAwE;AACxE,SAAS,OAAO,CAAI,GAAW,EAAE,UAAkC,EAAE;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,QAAQ,CACrB,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAM,CAAC;AACjC,CAAC;AAED,yEAAyE;AACzE,SAAS,QAAQ,CAAI,GAAW,EAAE,IAAa,EAAE,UAAkC,EAAE;IACnF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CACrB,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM;QAC1D,GAAG,UAAU,EAAE,IAAI,EAAE,gCAAgC;QACrD,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAM,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,GAAmB,EACnB,MAAqB,EACrB,KAAe,EACf,KAAc;IAEd,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC3B,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,wCAAwC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAmB,EACnB,MAAqB,EACrB,KAAe,EACf,KAAc;IAEd,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,SAAS,CAAC;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;IACjC,MAAM,SAAS,GAAG,GAAG,CAAC,oBAAoB,CAAC;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAEvC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IAGD,MAAM,OAAO,GAAG,GAAG,MAAM,sBAAsB,SAAS,aAAa,SAAS,EAAE,CAAC;IAEjF,IAAI,cAA4B,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAA4B,GAAG,OAAO,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/F,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,GAAG,EAAE,EAAE,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC7D,IAAI,KAAK;gBAAE,SAAS;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,IAAI,SAAS,mCAAmC,EAAE,CAAC,CAAC;YAC9H,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3F,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,KAAK,EAAE,CAAC;oBACV,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,qBAAqB,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAAC;gBAC7J,CAAC;gBACD,SAAS;YACX,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,QAAQ,CACtB,GAAG,OAAO,UAAU,EACpB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAC3D,EAAE,WAAW,EAAE,MAAM,EAAE,CACxB,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,KAAK,6BAA6B,EAAE,CAAC,CAAC;QAC3H,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QACpC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAmB,EACnB,MAAqB,EACrB,KAAe,EACf,KAAc;IAEd,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC;IAEpC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IAGD,IAAI,aAA2B,CAAC;IAChC,IAAI,CAAC;QACH,aAAa,GAAG,OAAO,CACrB,mCAAmC,OAAO,cAAc,MAAM,UAAU,QAAQ,EAAE,CACnF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,GAAG,EAAE,EAAE,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YACxD,IAAI,KAAK;gBAAE,SAAS;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,IAAI,SAAS,kCAAkC,EAAE,CAAC,CAAC;YAC5H,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACtF,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,KAAK,EAAE,CAAC;oBACV,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,sBAAsB,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;gBACrJ,CAAC;gBACD,SAAS;YACX,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,QAAQ,CACtB,sCAAsC,MAAM,UAAU,QAAQ,EAAE,EAChE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CACrC,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,KAAK,6BAA6B,EAAE,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QACpC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CACvB,QAAgB,EAChB,OAAiB,EACjB,OAAe,EACf,SAAiB,EACjB,MAAqB,EACrB,KAAe;IAEf,IAAI,CAAC;QACH,IAAI,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACrC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,cAAc,CAAC,QAAQ,EAAE,UAAU,OAAO,0CAA0C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,IAAI,OAAO,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,OAAO,CAAC,MAAM,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,OAAe,EACf,MAAqB,EACrB,KAAe,EACf,KAAkB;IAElB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,MAAM,GAAkB;YAC5B,OAAO;YACP,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC7D,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,EAAE,EAAE;YACX,kBAAkB,EAAE,EAAE;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SAC3B,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB;gBACvD,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB;oBAC9C,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB;wBAC9C,CAAC,CAAC,kBAAkB,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,YAAY,CAAC,CAAC;YACnD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projectInit.d.ts","sourceRoot":"","sources":["../../src/commands/projectInit.ts"],"names":[],"mappings":"AA6CA,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CA6Uf"}
1
+ {"version":3,"file":"projectInit.d.ts","sourceRoot":"","sources":["../../src/commands/projectInit.ts"],"names":[],"mappings":"AA2GA,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CA4Vf"}
@@ -18,7 +18,7 @@
18
18
  * @outputs 初始化后的项目目录和配置文件
19
19
  * @workflow 1. 查找模板目录 → 2. 创建项目目录 → 3. 复制模板文件 → 4. 写入配置
20
20
  */
21
- import { chmodSync, existsSync, mkdirSync, writeFileSync } from 'node:fs';
21
+ import { appendFileSync, chmodSync, cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
22
22
  import { dirname, resolve } from 'node:path';
23
23
  import { createInterface } from 'node:readline';
24
24
  import { fileURLToPath } from 'node:url';
@@ -41,7 +41,66 @@ function findTemplateDir() {
41
41
  return legacyPath;
42
42
  return npmPath; // default, will fail gracefully below
43
43
  }
44
- const _TEMPLATE_DIR = findTemplateDir();
44
+ const TEMPLATE_DIR = findTemplateDir();
45
+ /**
46
+ * Install the bundled `.claude/` preset (hooks, settings, CLAUDE.md skeleton)
47
+ * into the target project repo. Non-destructive: skips any file that already
48
+ * exists, so running `sps project init --force` won't clobber user edits.
49
+ *
50
+ * The template lives at `<TEMPLATE_DIR>/.claude/` and is shipped with the npm
51
+ * package via the `files` field in package.json.
52
+ */
53
+ function installClaudePreset(projectDir, projectName, log) {
54
+ const templateClaude = resolve(TEMPLATE_DIR, '.claude');
55
+ if (!existsSync(templateClaude)) {
56
+ log.warn(`Template .claude/ not found at ${templateClaude}, skipping preset install`);
57
+ return;
58
+ }
59
+ if (!existsSync(projectDir)) {
60
+ log.info(`Project repo ${projectDir} does not exist yet — skipping .claude/ install`);
61
+ return;
62
+ }
63
+ const targetClaude = resolve(projectDir, '.claude');
64
+ const preExisted = existsSync(targetClaude);
65
+ // Copy recursively, without clobbering existing files.
66
+ cpSync(templateClaude, targetClaude, {
67
+ recursive: true,
68
+ force: false,
69
+ errorOnExist: false,
70
+ });
71
+ // Materialize settings.local.json from template (substitute __PROJECT__).
72
+ const settingsLocalTmpl = resolve(targetClaude, 'settings.local.json.template');
73
+ const settingsLocal = resolve(targetClaude, 'settings.local.json');
74
+ if (existsSync(settingsLocalTmpl) && !existsSync(settingsLocal)) {
75
+ const content = readFileSync(settingsLocalTmpl, 'utf-8').replace(/__PROJECT__/g, projectName);
76
+ writeFileSync(settingsLocal, content);
77
+ }
78
+ // Remove the template so users don't accidentally edit it thinking it's live.
79
+ if (existsSync(settingsLocalTmpl)) {
80
+ rmSync(settingsLocalTmpl);
81
+ }
82
+ // Ensure hook scripts are executable (cpSync preserves mode, but play safe).
83
+ const stopHook = resolve(targetClaude, 'hooks', 'stop.sh');
84
+ if (existsSync(stopHook)) {
85
+ try {
86
+ chmodSync(stopHook, 0o755);
87
+ }
88
+ catch { /* non-fatal */ }
89
+ }
90
+ // Append .claude/settings.local.json to .gitignore (idempotent).
91
+ const gitignore = resolve(projectDir, '.gitignore');
92
+ const entry = '.claude/settings.local.json';
93
+ let existing = '';
94
+ if (existsSync(gitignore))
95
+ existing = readFileSync(gitignore, 'utf-8');
96
+ if (!existing.split('\n').some(line => line.trim() === entry)) {
97
+ const prefix = existing && !existing.endsWith('\n') ? '\n' : '';
98
+ appendFileSync(gitignore, `${prefix}${entry}\n`);
99
+ }
100
+ log.ok(preExisted
101
+ ? `Refreshed .claude/ preset in ${projectDir} (existing files preserved)`
102
+ : `Installed .claude/ preset into ${projectDir}`);
103
+ }
45
104
  export async function executeProjectInit(project, flags) {
46
105
  const log = new Logger('project-init', project);
47
106
  if (!project) {
@@ -346,6 +405,21 @@ stages:
346
405
  mkdirSync(memoryDir, { recursive: true });
347
406
  log.ok(`Created project memory at ${memoryDir}`);
348
407
  }
408
+ // Install Claude preset into the target project repo (if it exists).
409
+ // Read PROJECT_DIR from the generated conf (covers both interactive and
410
+ // existing-conf paths; no need to thread projectDir through local scope).
411
+ try {
412
+ const confContent = readFileSync(confDst, 'utf-8');
413
+ const match = confContent.match(/export\s+PROJECT_DIR=["']?([^"'\n]+)/);
414
+ const projectDir = match?.[1]?.trim();
415
+ if (projectDir) {
416
+ installClaudePreset(projectDir, project, log);
417
+ }
418
+ }
419
+ catch (err) {
420
+ const msg = err instanceof Error ? err.message : String(err);
421
+ log.warn(`Could not install Claude preset (non-fatal): ${msg}`);
422
+ }
349
423
  log.ok(`Project ${project} initialized at ${instanceDir}`);
350
424
  console.log('\n Next steps:\n');
351
425
  console.log(` 1. Create pipeline config:`);
@@ -1 +1 @@
1
- {"version":3,"file":"projectInit.js","sourceRoot":"","sources":["../../src/commands/projectInit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectInit.js","sourceRoot":"","sources":["../../src/commands/projectInit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=projectInit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectInit.test.d.ts","sourceRoot":"","sources":["../../src/commands/projectInit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * @module projectInit.test
3
+ * @description `.claude/` 预设安装逻辑的单元测试
4
+ *
5
+ * @author eddy
6
+ * @organization wykj
7
+ * @ownership wykj/eddy
8
+ *
9
+ * @created 2026-04-20
10
+ * @updated 2026-04-20
11
+ *
12
+ * @role test
13
+ * @layer command
14
+ * @boundedContext system
15
+ *
16
+ * 只测 installClaudePreset 的行为(复制、占位符替换、gitignore 追加、幂等)。
17
+ * 交互式 init 流程不测,因为要 mock stdin/readline,成本高收益低。
18
+ */
19
+ import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
20
+ import { tmpdir } from 'node:os';
21
+ import { join, resolve } from 'node:path';
22
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
23
+ function tempDir() {
24
+ return mkdtempSync(join(tmpdir(), 'sps-initclaude-test-'));
25
+ }
26
+ /**
27
+ * Reproduce the template structure that ships with sps-cli. Tests don't
28
+ * depend on a real coding-work-flow/project-template — they build a fake one
29
+ * in tmp so the test is self-contained and portable.
30
+ */
31
+ function makeFakeTemplate(dir) {
32
+ const tmpl = join(dir, '.claude');
33
+ mkdirSync(join(tmpl, 'hooks'), { recursive: true });
34
+ mkdirSync(join(tmpl, 'skills'), { recursive: true });
35
+ writeFileSync(join(tmpl, 'settings.json'), JSON.stringify({ hooks: {} }, null, 2));
36
+ writeFileSync(join(tmpl, 'settings.local.json.template'), '{"autoMemoryDirectory":"~/.coral/projects/__PROJECT__/memory"}\n');
37
+ writeFileSync(join(tmpl, 'CLAUDE.md'), '# Test CLAUDE.md\n');
38
+ writeFileSync(join(tmpl, 'hooks', 'stop.sh'), '#!/bin/bash\necho hi\n');
39
+ writeFileSync(join(tmpl, 'skills', '.gitkeep'), '');
40
+ }
41
+ // Pull the function under test out by duplicating its essential logic here.
42
+ // The real function is wired to findTemplateDir() which resolves to the shipped
43
+ // project-template. For unit testing, we re-implement the body with an explicit
44
+ // template path argument so we can point it at a fake template.
45
+ function installClaudePresetForTest(templateDir, projectDir, projectName) {
46
+ const templateClaude = resolve(templateDir, '.claude');
47
+ if (!existsSync(templateClaude) || !existsSync(projectDir))
48
+ return;
49
+ cpSync(templateClaude, resolve(projectDir, '.claude'), {
50
+ recursive: true, force: false, errorOnExist: false,
51
+ });
52
+ const settingsLocalTmpl = resolve(projectDir, '.claude', 'settings.local.json.template');
53
+ const settingsLocal = resolve(projectDir, '.claude', 'settings.local.json');
54
+ if (existsSync(settingsLocalTmpl) && !existsSync(settingsLocal)) {
55
+ const content = readFileSync(settingsLocalTmpl, 'utf-8').replace(/__PROJECT__/g, projectName);
56
+ writeFileSync(settingsLocal, content);
57
+ }
58
+ if (existsSync(settingsLocalTmpl))
59
+ rmSync(settingsLocalTmpl);
60
+ const gitignore = resolve(projectDir, '.gitignore');
61
+ const entry = '.claude/settings.local.json';
62
+ let existing = '';
63
+ if (existsSync(gitignore))
64
+ existing = readFileSync(gitignore, 'utf-8');
65
+ if (!existing.split('\n').some(l => l.trim() === entry)) {
66
+ const prefix = existing && !existing.endsWith('\n') ? '\n' : '';
67
+ writeFileSync(gitignore, existing + prefix + entry + '\n');
68
+ }
69
+ }
70
+ describe('installClaudePreset', () => {
71
+ let dir;
72
+ let templateRoot;
73
+ let projectRoot;
74
+ beforeEach(() => {
75
+ dir = tempDir();
76
+ templateRoot = join(dir, 'template');
77
+ projectRoot = join(dir, 'project');
78
+ mkdirSync(templateRoot, { recursive: true });
79
+ mkdirSync(projectRoot, { recursive: true });
80
+ makeFakeTemplate(templateRoot);
81
+ });
82
+ afterEach(() => {
83
+ rmSync(dir, { recursive: true, force: true });
84
+ });
85
+ it('copies the full .claude/ tree into the target project', () => {
86
+ installClaudePresetForTest(templateRoot, projectRoot, 'my-project');
87
+ expect(existsSync(join(projectRoot, '.claude', 'settings.json'))).toBe(true);
88
+ expect(existsSync(join(projectRoot, '.claude', 'CLAUDE.md'))).toBe(true);
89
+ expect(existsSync(join(projectRoot, '.claude', 'hooks', 'stop.sh'))).toBe(true);
90
+ expect(existsSync(join(projectRoot, '.claude', 'skills', '.gitkeep'))).toBe(true);
91
+ });
92
+ it('substitutes __PROJECT__ in settings.local.json and removes the template', () => {
93
+ installClaudePresetForTest(templateRoot, projectRoot, 'my-app');
94
+ const settingsLocal = join(projectRoot, '.claude', 'settings.local.json');
95
+ expect(existsSync(settingsLocal)).toBe(true);
96
+ expect(readFileSync(settingsLocal, 'utf-8')).toContain('~/.coral/projects/my-app/memory');
97
+ const tmpl = join(projectRoot, '.claude', 'settings.local.json.template');
98
+ expect(existsSync(tmpl)).toBe(false);
99
+ });
100
+ it('appends .claude/settings.local.json to .gitignore when absent', () => {
101
+ installClaudePresetForTest(templateRoot, projectRoot, 'p');
102
+ const gi = readFileSync(join(projectRoot, '.gitignore'), 'utf-8');
103
+ expect(gi.trim().split('\n')).toContain('.claude/settings.local.json');
104
+ });
105
+ it('does NOT duplicate the .gitignore entry if it already exists', () => {
106
+ writeFileSync(join(projectRoot, '.gitignore'), 'node_modules\n.claude/settings.local.json\n');
107
+ installClaudePresetForTest(templateRoot, projectRoot, 'p');
108
+ const lines = readFileSync(join(projectRoot, '.gitignore'), 'utf-8')
109
+ .split('\n').filter(l => l.trim() === '.claude/settings.local.json');
110
+ expect(lines.length).toBe(1);
111
+ });
112
+ it('does NOT overwrite user-edited CLAUDE.md on re-run', () => {
113
+ mkdirSync(join(projectRoot, '.claude'), { recursive: true });
114
+ writeFileSync(join(projectRoot, '.claude', 'CLAUDE.md'), '# My customized rules\n');
115
+ installClaudePresetForTest(templateRoot, projectRoot, 'p');
116
+ // cpSync with force:false preserves existing content
117
+ expect(readFileSync(join(projectRoot, '.claude', 'CLAUDE.md'), 'utf-8'))
118
+ .toBe('# My customized rules\n');
119
+ });
120
+ it('is a no-op when project directory does not exist', () => {
121
+ const missing = join(dir, 'does-not-exist');
122
+ expect(() => installClaudePresetForTest(templateRoot, missing, 'p')).not.toThrow();
123
+ expect(existsSync(join(missing, '.claude'))).toBe(false);
124
+ });
125
+ });
126
+ //# sourceMappingURL=projectInit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectInit.test.js","sourceRoot":"","sources":["../../src/commands/projectInit.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coralai/sps-cli",
3
- "version": "0.39.0",
3
+ "version": "0.40.0",
4
4
  "description": "SPS CLI — AI-driven development pipeline orchestrator",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -0,0 +1,49 @@
1
+ # Project Rules (Claude Code Worker)
2
+
3
+ <!--
4
+ This file is auto-generated by `sps project init` / `sps doctor --fix`.
5
+ Edit it to add project-specific rules. SPS will not overwrite it once it exists.
6
+ -->
7
+
8
+ ## Scope
9
+
10
+ - Work only in the current project directory.
11
+ - Do NOT read or modify files outside this directory.
12
+ - Do NOT explore `~/.coral/projects/...` or other system paths.
13
+
14
+ ## SPS Pipeline Context
15
+
16
+ This project is driven by SPS (Smart Pipeline System). Each card is a task.
17
+ When you are launched as a worker, the following env vars identify your task:
18
+
19
+ - `$SPS_PROJECT` — project name
20
+ - `$SPS_CARD_ID` — card sequence number
21
+ - `$SPS_CARD_TITLE` — card title (for logging)
22
+ - `$SPS_STAGE` — pipeline stage name (e.g. `develop`, `qa`)
23
+ - `$SPS_WORKER_SLOT` — worker slot name
24
+
25
+ ## Completion protocol
26
+
27
+ - When you finish the task, Claude's **Stop hook** runs automatically
28
+ (via `.claude/hooks/stop.sh`) and tags the card `COMPLETED-<stage>`.
29
+ - You do NOT need to manually update card state, move the card between
30
+ columns, or commit on behalf of the pipeline.
31
+ - If you declare "done" without actually implementing the work, the pipeline
32
+ will still advance. The user relies on your honesty here.
33
+
34
+ ## Memory
35
+
36
+ - Claude's **auto memory** is enabled and stored under
37
+ `~/.coral/projects/$SPS_PROJECT/memory/`. You write to `MEMORY.md` there
38
+ to persist knowledge across sessions.
39
+ - Use `sps memory add <project> --type ...` to write structured SPS memories
40
+ (conventions, decisions, lessons) for the human to curate.
41
+
42
+ ## Git (if the project uses git)
43
+
44
+ - Claude handles all git operations itself (commit, push, etc.).
45
+ - SPS does NOT intervene in git workflows or conflict resolution.
46
+
47
+ ## Project-specific rules
48
+
49
+ <!-- Add your own conventions, architecture notes, and constraints below. -->
@@ -0,0 +1,43 @@
1
+ #!/bin/bash
2
+ # SPS Pipeline Worker — Stop hook
3
+ #
4
+ # Triggered when Claude finishes its current turn. The pipeline depends on
5
+ # Phase 1 to advance card state. Phase 2+ is user-customizable.
6
+ #
7
+ # Env vars (set by SPS worker at spawn time):
8
+ # SPS_PROJECT Project name (matches ~/.coral/projects/<name>/)
9
+ # SPS_CARD_ID Card sequence number
10
+ # SPS_CARD_TITLE Human-readable card title (optional)
11
+ # SPS_STAGE Pipeline stage name (develop, qa, integrate, ...)
12
+ # SPS_WORKER_SLOT Worker slot (worker-1, ...)
13
+ #
14
+ # Claude-native env also available:
15
+ # CLAUDE_PROJECT_DIR, CLAUDE_SESSION_ID
16
+
17
+ set -e
18
+
19
+ # ─── Phase 1: SPS official action (do NOT remove) ────────────────────
20
+ # Mark the card complete so pipeline can advance state.
21
+ if [ -n "$SPS_PROJECT" ] && [ -n "$SPS_CARD_ID" ]; then
22
+ sps card mark-complete "$SPS_PROJECT" "$SPS_CARD_ID"
23
+ fi
24
+
25
+ # ─── Phase 2: User-customizable actions (edit as needed) ────────────
26
+
27
+ # Example: record the session transcript location for later audit.
28
+ # if [ -n "$CLAUDE_SESSION_ID" ] && [ -n "$SPS_CARD_ID" ]; then
29
+ # echo "$CLAUDE_SESSION_ID" >> "$CLAUDE_PROJECT_DIR/.sps/session-log.txt"
30
+ # fi
31
+
32
+ # Example: third-party knowledge base capture.
33
+ # if command -v your-kb-cli &>/dev/null; then
34
+ # your-kb-cli capture --project "$SPS_PROJECT" --session "$CLAUDE_SESSION_ID"
35
+ # fi
36
+
37
+ # Example: notify on completion.
38
+ # sps notify matrix "[$SPS_PROJECT] seq $SPS_CARD_ID ($SPS_STAGE) done"
39
+
40
+ # Example: post-task CI trigger.
41
+ # curl -sfX POST "$CI_WEBHOOK" -d "{\"project\":\"$SPS_PROJECT\",\"card\":\"$SPS_CARD_ID\"}"
42
+
43
+ exit 0
File without changes
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "hooks": {
4
+ "Stop": [
5
+ {
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/stop.sh"
10
+ }
11
+ ]
12
+ }
13
+ ],
14
+ "UserPromptSubmit": [
15
+ {
16
+ "hooks": [
17
+ {
18
+ "type": "command",
19
+ "command": "sps hook user-prompt-submit"
20
+ }
21
+ ]
22
+ }
23
+ ]
24
+ },
25
+ "attribution": {
26
+ "commit": "",
27
+ "pr": ""
28
+ },
29
+ "companyAnnouncements": [
30
+ "🔧 SPS Pipeline Worker — completion is declared via Stop hook \u2192 COMPLETED-<stage> label"
31
+ ]
32
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "autoMemoryDirectory": "~/.coral/projects/__PROJECT__/memory"
3
+ }
File without changes