@nathapp/nax 0.29.0 → 0.30.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/dist/nax.js CHANGED
@@ -19500,6 +19500,92 @@ var init_routing = __esm(() => {
19500
19500
  init_batch_route();
19501
19501
  });
19502
19502
 
19503
+ // package.json
19504
+ var package_default;
19505
+ var init_package = __esm(() => {
19506
+ package_default = {
19507
+ name: "@nathapp/nax",
19508
+ version: "0.30.0",
19509
+ description: "AI Coding Agent Orchestrator \u2014 loops until done",
19510
+ type: "module",
19511
+ bin: {
19512
+ nax: "./dist/nax.js"
19513
+ },
19514
+ scripts: {
19515
+ prepare: "git config core.hooksPath .githooks",
19516
+ dev: "bun run bin/nax.ts",
19517
+ build: 'bun build bin/nax.ts --outdir dist --target bun --define "GIT_COMMIT=\\"$(git rev-parse --short HEAD)\\""',
19518
+ typecheck: "bun x tsc --noEmit",
19519
+ lint: "bun x biome check src/ bin/",
19520
+ test: "NAX_SKIP_PRECHECK=1 bun test test/ --timeout=60000",
19521
+ "test:watch": "bun test --watch",
19522
+ "test:unit": "bun test ./test/unit/ --timeout=60000",
19523
+ "test:integration": "bun test ./test/integration/ --timeout=60000",
19524
+ "test:ui": "bun test ./test/ui/ --timeout=60000",
19525
+ prepublishOnly: "bun run build"
19526
+ },
19527
+ dependencies: {
19528
+ "@anthropic-ai/sdk": "^0.74.0",
19529
+ "@types/react": "^19.2.14",
19530
+ chalk: "^5.6.2",
19531
+ commander: "^13.1.0",
19532
+ ink: "^6.7.0",
19533
+ "ink-spinner": "^5.0.0",
19534
+ "ink-testing-library": "^4.0.0",
19535
+ react: "^19.2.4",
19536
+ zod: "^4.3.6"
19537
+ },
19538
+ devDependencies: {
19539
+ "@biomejs/biome": "^1.9.4",
19540
+ "@types/bun": "^1.3.8",
19541
+ "react-devtools-core": "^7.0.1",
19542
+ typescript: "^5.7.3"
19543
+ },
19544
+ license: "MIT",
19545
+ author: "William Khoo",
19546
+ keywords: [
19547
+ "ai",
19548
+ "agent",
19549
+ "orchestrator",
19550
+ "tdd",
19551
+ "coding"
19552
+ ],
19553
+ files: [
19554
+ "dist/",
19555
+ "src/",
19556
+ "bin/",
19557
+ "README.md",
19558
+ "CHANGELOG.md"
19559
+ ]
19560
+ };
19561
+ });
19562
+
19563
+ // src/version.ts
19564
+ var NAX_VERSION, NAX_COMMIT, NAX_BUILD_INFO;
19565
+ var init_version = __esm(() => {
19566
+ init_package();
19567
+ NAX_VERSION = package_default.version;
19568
+ NAX_COMMIT = (() => {
19569
+ try {
19570
+ if (/^[0-9a-f]{6,10}$/.test("f7c3de1"))
19571
+ return "f7c3de1";
19572
+ } catch {}
19573
+ try {
19574
+ const result = Bun.spawnSync(["git", "rev-parse", "--short", "HEAD"], {
19575
+ cwd: import.meta.dir,
19576
+ stderr: "ignore"
19577
+ });
19578
+ if (result.exitCode === 0) {
19579
+ const hash2 = result.stdout.toString().trim();
19580
+ if (/^[0-9a-f]{6,10}$/.test(hash2))
19581
+ return hash2;
19582
+ }
19583
+ } catch {}
19584
+ return "dev";
19585
+ })();
19586
+ NAX_BUILD_INFO = NAX_COMMIT === "dev" ? `v${NAX_VERSION}` : `v${NAX_VERSION} (${NAX_COMMIT})`;
19587
+ });
19588
+
19503
19589
  // src/prd/types.ts
19504
19590
  function getContextFiles(story) {
19505
19591
  return story.contextFiles ?? story.relevantFiles ?? [];
@@ -23594,6 +23680,132 @@ var init_rectification_gate = __esm(() => {
23594
23680
  init_prompts();
23595
23681
  });
23596
23682
 
23683
+ // src/prompts/sections/conventions.ts
23684
+ function buildConventionsSection() {
23685
+ return `# Conventions
23686
+
23687
+ ` + `Follow existing code patterns and conventions. Write idiomatic, maintainable code.
23688
+
23689
+ ` + "When running tests, run ONLY test files related to your changes (e.g. `bun test ./test/specific.test.ts`). " + "NEVER run `bun test` without a file filter \u2014 full suite output will flood your context window and cause failures.\n\n" + "Commit your changes when done using conventional commit format (e.g. `feat:`, `fix:`, `test:`).";
23690
+ }
23691
+
23692
+ // src/prompts/sections/isolation.ts
23693
+ function buildIsolationSection(roleOrMode, mode) {
23694
+ if ((roleOrMode === "strict" || roleOrMode === "lite") && mode === undefined) {
23695
+ return buildIsolationSection("test-writer", roleOrMode);
23696
+ }
23697
+ const role = roleOrMode;
23698
+ const header = `# Isolation Rules
23699
+
23700
+ `;
23701
+ const footer = `
23702
+
23703
+ ${TEST_FILTER_RULE}`;
23704
+ if (role === "test-writer") {
23705
+ const m = mode ?? "strict";
23706
+ if (m === "strict") {
23707
+ return `${header}isolation scope: Only create or modify files in the test/ directory. Tests must fail because the feature is not yet implemented. Do NOT modify any source files in src/.${footer}`;
23708
+ }
23709
+ return `${header}isolation scope: Create test files in test/. MAY read src/ files and MAY import from src/ to ensure correct types/interfaces. May create minimal stubs in src/ if needed to make imports work, but do NOT implement real logic.${footer}`;
23710
+ }
23711
+ if (role === "implementer") {
23712
+ return `${header}isolation scope: Implement source code in src/ to make tests pass. Do not modify test files. Run tests frequently to track progress.${footer}`;
23713
+ }
23714
+ if (role === "verifier") {
23715
+ return `${header}isolation scope: Read-only inspection. Review all test results, implementation code, and acceptance criteria compliance. You MAY write a verdict file (.nax-verifier-verdict.json) and apply legitimate fixes if needed.${footer}`;
23716
+ }
23717
+ return `${header}isolation scope: Create test files in test/ directory, then implement source code in src/ to make tests pass. Both directories are in scope for this session.${footer}`;
23718
+ }
23719
+ var TEST_FILTER_RULE;
23720
+ var init_isolation2 = __esm(() => {
23721
+ TEST_FILTER_RULE = "When running tests, run ONLY test files related to your changes " + "(e.g. `bun test ./test/specific.test.ts`). NEVER run `bun test` without a file filter " + "\u2014 full suite output will flood your context window and cause failures.";
23722
+ });
23723
+
23724
+ // src/prompts/sections/role-task.ts
23725
+ function buildRoleTaskSection(roleOrVariant, variant) {
23726
+ if ((roleOrVariant === "standard" || roleOrVariant === "lite") && variant === undefined) {
23727
+ return buildRoleTaskSection("implementer", roleOrVariant);
23728
+ }
23729
+ const role = roleOrVariant;
23730
+ if (role === "implementer") {
23731
+ const v = variant ?? "standard";
23732
+ if (v === "standard") {
23733
+ return `# Role: Implementer
23734
+
23735
+ ` + `Your task: make failing tests pass.
23736
+
23737
+ ` + `Instructions:
23738
+ ` + `- Implement source code in src/ to make tests pass
23739
+ ` + `- Do NOT modify test files
23740
+ ` + `- Run tests frequently to track progress
23741
+ ` + `- When all tests are green, stage and commit ALL changed files with: git commit -m 'feat: <description>'
23742
+ ` + "- Goal: all tests green, all changes committed";
23743
+ }
23744
+ return `# Role: Implementer (Lite)
23745
+
23746
+ ` + `Your task: Write tests AND implement the feature in a single session.
23747
+
23748
+ ` + `Instructions:
23749
+ ` + `- Write tests first (test/ directory), then implement (src/ directory)
23750
+ ` + `- All tests must pass by the end
23751
+ ` + `- Use Bun test (describe/test/expect)
23752
+ ` + `- When all tests are green, stage and commit ALL changed files with: git commit -m 'feat: <description>'
23753
+ ` + "- Goal: all tests green, all criteria met, all changes committed";
23754
+ }
23755
+ if (role === "test-writer") {
23756
+ return `# Role: Test-Writer
23757
+
23758
+ ` + `Your task: Write comprehensive failing tests for the feature.
23759
+
23760
+ ` + `Instructions:
23761
+ ` + `- Create test files in test/ directory that cover acceptance criteria
23762
+ ` + `- Tests must fail initially (RED phase) \u2014 the feature is not yet implemented
23763
+ ` + `- Use Bun test (describe/test/expect)
23764
+ ` + `- Write clear test names that document expected behavior
23765
+ ` + `- Focus on behavior, not implementation details
23766
+ ` + "- Goal: comprehensive test suite ready for implementation";
23767
+ }
23768
+ if (role === "verifier") {
23769
+ return `# Role: Verifier
23770
+
23771
+ ` + `Your task: Review and verify the implementation against acceptance criteria.
23772
+
23773
+ ` + `Instructions:
23774
+ ` + `- Review all test results \u2014 verify tests pass
23775
+ ` + `- Check that implementation meets all acceptance criteria
23776
+ ` + `- Inspect code quality, error handling, and edge cases
23777
+ ` + `- Verify test modifications (if any) are legitimate fixes
23778
+ ` + `- Write a detailed verdict with reasoning
23779
+ ` + "- Goal: provide comprehensive verification and quality assurance";
23780
+ }
23781
+ return `# Role: Single-Session
23782
+
23783
+ ` + `Your task: Write tests AND implement the feature in a single focused session.
23784
+
23785
+ ` + `Instructions:
23786
+ ` + `- Phase 1: Write comprehensive tests (test/ directory)
23787
+ ` + `- Phase 2: Implement to make all tests pass (src/ directory)
23788
+ ` + `- Use Bun test (describe/test/expect)
23789
+ ` + `- Run tests frequently throughout implementation
23790
+ ` + `- When all tests are green, stage and commit ALL changed files with: git commit -m 'feat: <description>'
23791
+ ` + "- Goal: all tests passing, all changes committed, full story complete";
23792
+ }
23793
+
23794
+ // src/prompts/sections/story.ts
23795
+ function buildStorySection(story) {
23796
+ const criteria = story.acceptanceCriteria.map((c, i) => `${i + 1}. ${c}`).join(`
23797
+ `);
23798
+ return `# Story Context
23799
+
23800
+ **Story:** ${story.title}
23801
+
23802
+ **Description:**
23803
+ ${story.description}
23804
+
23805
+ **Acceptance Criteria:**
23806
+ ${criteria}`;
23807
+ }
23808
+
23597
23809
  // src/prompts/loader.ts
23598
23810
  var exports_loader = {};
23599
23811
  __export(exports_loader, {
@@ -23667,13 +23879,14 @@ ${this._constitution}`);
23667
23879
  }
23668
23880
  sections.push(await this._resolveRoleBody());
23669
23881
  if (this._story) {
23670
- sections.push(buildStoryContext2(this._story));
23882
+ sections.push(buildStorySection(this._story));
23671
23883
  }
23672
- sections.push(buildIsolationRules(this._role, this._options));
23884
+ const isolation = this._options.isolation;
23885
+ sections.push(buildIsolationSection(this._role, isolation));
23673
23886
  if (this._contextMd) {
23674
23887
  sections.push(this._contextMd);
23675
23888
  }
23676
- sections.push(CONVENTIONS_FOOTER);
23889
+ sections.push(buildConventionsSection());
23677
23890
  return sections.join(SECTION_SEP);
23678
23891
  }
23679
23892
  async _resolveRoleBody() {
@@ -23692,78 +23905,17 @@ ${this._constitution}`);
23692
23905
  }
23693
23906
  } catch {}
23694
23907
  }
23695
- return buildDefaultRoleBody(this._role, this._story?.title, this._options);
23696
- }
23697
- }
23698
- function buildDefaultRoleBody(role, title = "", options = {}) {
23699
- const variant = options.variant;
23700
- switch (role) {
23701
- case "test-writer":
23702
- return `# Test Writer \u2014 "${title}"
23703
-
23704
- Your role: Write failing tests ONLY. Do NOT implement any source code.`;
23705
- case "implementer":
23706
- if (variant === "lite") {
23707
- return `# Implementer (Lite) \u2014 "${title}"
23708
-
23709
- Your role: Write tests AND implement the feature in a single session.`;
23710
- }
23711
- return `# Implementer \u2014 "${title}"
23712
-
23713
- Your role: Make all failing tests pass.`;
23714
- case "verifier":
23715
- return `# Verifier \u2014 "${title}"
23716
-
23717
- Your role: Verify the implementation and tests.`;
23718
- case "single-session":
23719
- return `# Task \u2014 "${title}"
23720
-
23721
- Your role: Write tests AND implement the feature in a single session.`;
23722
- }
23723
- }
23724
- function buildStoryContext2(story) {
23725
- return `# Story Context
23726
-
23727
- **Story:** ${story.title}
23728
-
23729
- **Description:**
23730
- ${story.description}
23731
-
23732
- **Acceptance Criteria:**
23733
- ${story.acceptanceCriteria.map((c, i) => `${i + 1}. ${c}`).join(`
23734
- `)}`;
23735
- }
23736
- function buildIsolationRules(role, options = {}) {
23737
- const header = `# Isolation Rules
23738
-
23739
- `;
23740
- const footer = `
23741
-
23742
- ${TEST_FILTER_RULE}`;
23743
- const isolation = options.isolation;
23744
- switch (role) {
23745
- case "test-writer":
23746
- if (isolation === "lite") {
23747
- return `${header}isolation scope: Primarily create test files in the test/ directory. You MAY read source files and MAY import from source files to ensure correct types/interfaces. Stub-only src/ files are allowed (empty exports, no logic). Tests must fail for the right reasons (feature not implemented).${footer}`;
23748
- }
23749
- return `${header}isolation scope: Only create or modify files in the test/ directory. Tests must fail because the feature is not yet implemented. Do NOT modify any source files in src/.${footer}`;
23750
- case "implementer":
23751
- return `${header}isolation scope: Implement source code in src/ to make the tests pass. Do NOT modify test files. Run tests frequently to track progress.${footer}`;
23752
- case "verifier":
23753
- return `${header}isolation scope: Verify and fix only \u2014 do not change behaviour unless it violates acceptance criteria. Ensure all tests pass and all criteria are met.${footer}`;
23754
- case "single-session":
23755
- return `${header}isolation scope: Write tests first (test/ directory), then implement (src/ directory). All tests must pass by the end.${footer}`;
23908
+ const variant = this._options.variant;
23909
+ return buildRoleTaskSection(this._role, variant);
23756
23910
  }
23757
23911
  }
23758
23912
  var SECTION_SEP = `
23759
23913
 
23760
23914
  ---
23761
23915
 
23762
- `, TEST_FILTER_RULE, CONVENTIONS_FOOTER = `# Conventions
23763
-
23764
- Follow existing code patterns and conventions. Write idiomatic, maintainable code. Commit your changes when done.`;
23916
+ `;
23765
23917
  var init_builder3 = __esm(() => {
23766
- TEST_FILTER_RULE = "When running tests, run ONLY test files related to your changes (e.g. `bun test ./test/specific.test.ts`). NEVER run `bun test` without a file filter" + " \u2014 full suite output will flood your context window and cause failures.";
23918
+ init_isolation2();
23767
23919
  });
23768
23920
 
23769
23921
  // src/prompts/index.ts
@@ -27686,92 +27838,6 @@ var init_escalation = __esm(() => {
27686
27838
  init_tier_escalation();
27687
27839
  });
27688
27840
 
27689
- // package.json
27690
- var package_default;
27691
- var init_package = __esm(() => {
27692
- package_default = {
27693
- name: "@nathapp/nax",
27694
- version: "0.29.0",
27695
- description: "AI Coding Agent Orchestrator \u2014 loops until done",
27696
- type: "module",
27697
- bin: {
27698
- nax: "./dist/nax.js"
27699
- },
27700
- scripts: {
27701
- prepare: "git config core.hooksPath .githooks",
27702
- dev: "bun run bin/nax.ts",
27703
- build: 'bun build bin/nax.ts --outdir dist --target bun --define "GIT_COMMIT=\\"$(git rev-parse --short HEAD)\\""',
27704
- typecheck: "bun x tsc --noEmit",
27705
- lint: "bun x biome check src/ bin/",
27706
- test: "NAX_SKIP_PRECHECK=1 bun test test/ --timeout=60000",
27707
- "test:watch": "bun test --watch",
27708
- "test:unit": "bun test ./test/unit/ --timeout=60000",
27709
- "test:integration": "bun test ./test/integration/ --timeout=60000",
27710
- "test:ui": "bun test ./test/ui/ --timeout=60000",
27711
- prepublishOnly: "bun run build"
27712
- },
27713
- dependencies: {
27714
- "@anthropic-ai/sdk": "^0.74.0",
27715
- "@types/react": "^19.2.14",
27716
- chalk: "^5.6.2",
27717
- commander: "^13.1.0",
27718
- ink: "^6.7.0",
27719
- "ink-spinner": "^5.0.0",
27720
- "ink-testing-library": "^4.0.0",
27721
- react: "^19.2.4",
27722
- zod: "^4.3.6"
27723
- },
27724
- devDependencies: {
27725
- "@biomejs/biome": "^1.9.4",
27726
- "@types/bun": "^1.3.8",
27727
- "react-devtools-core": "^7.0.1",
27728
- typescript: "^5.7.3"
27729
- },
27730
- license: "MIT",
27731
- author: "William Khoo",
27732
- keywords: [
27733
- "ai",
27734
- "agent",
27735
- "orchestrator",
27736
- "tdd",
27737
- "coding"
27738
- ],
27739
- files: [
27740
- "dist/",
27741
- "src/",
27742
- "bin/",
27743
- "README.md",
27744
- "CHANGELOG.md"
27745
- ]
27746
- };
27747
- });
27748
-
27749
- // src/version.ts
27750
- var NAX_VERSION, NAX_COMMIT, NAX_BUILD_INFO;
27751
- var init_version = __esm(() => {
27752
- init_package();
27753
- NAX_VERSION = package_default.version;
27754
- NAX_COMMIT = (() => {
27755
- try {
27756
- if (/^[0-9a-f]{6,10}$/.test("eaa6801"))
27757
- return "eaa6801";
27758
- } catch {}
27759
- try {
27760
- const result = Bun.spawnSync(["git", "rev-parse", "--short", "HEAD"], {
27761
- cwd: import.meta.dir,
27762
- stderr: "ignore"
27763
- });
27764
- if (result.exitCode === 0) {
27765
- const hash2 = result.stdout.toString().trim();
27766
- if (/^[0-9a-f]{6,10}$/.test(hash2))
27767
- return hash2;
27768
- }
27769
- } catch {}
27770
- return "dev";
27771
- })();
27772
- NAX_BUILD_INFO = NAX_COMMIT === "dev" ? `v${NAX_VERSION}` : `v${NAX_VERSION} (${NAX_COMMIT})`;
27773
- });
27774
-
27775
27841
  // src/execution/status-file.ts
27776
27842
  import { rename, unlink as unlink2 } from "fs/promises";
27777
27843
  import { resolve as resolve8 } from "path";
@@ -28322,16 +28388,14 @@ __export(exports_headless_formatter, {
28322
28388
  outputRunHeader: () => outputRunHeader,
28323
28389
  outputRunFooter: () => outputRunFooter
28324
28390
  });
28325
- import path15 from "path";
28326
28391
  async function outputRunHeader(options) {
28327
28392
  const { feature, totalStories, pendingStories, workdir, formatterMode } = options;
28328
28393
  if (formatterMode === "json") {
28329
28394
  return;
28330
28395
  }
28331
- const pkg = await Bun.file(path15.join(import.meta.dir, "..", "..", "..", "package.json")).json();
28332
28396
  console.log("");
28333
28397
  console.log(source_default.bold(source_default.blue("\u2550".repeat(60))));
28334
- console.log(source_default.bold(source_default.blue(` \u25B6 NAX v${pkg.version} \u2014 RUN STARTED`)));
28398
+ console.log(source_default.bold(source_default.blue(` \u25B6 NAX v${NAX_VERSION} \u2014 RUN STARTED`)));
28335
28399
  console.log(source_default.blue("\u2550".repeat(60)));
28336
28400
  console.log(` ${source_default.gray("Feature:")} ${source_default.cyan(feature)}`);
28337
28401
  console.log(` ${source_default.gray("Stories:")} ${source_default.cyan(`${totalStories} total, ${pendingStories} pending`)}`);
@@ -28363,6 +28427,7 @@ function outputRunFooter(options) {
28363
28427
  var init_headless_formatter = __esm(() => {
28364
28428
  init_source();
28365
28429
  init_logging();
28430
+ init_version();
28366
28431
  });
28367
28432
 
28368
28433
  // src/worktree/manager.ts
@@ -29031,7 +29096,7 @@ __export(exports_parallel_executor, {
29031
29096
  runParallelExecution: () => runParallelExecution
29032
29097
  });
29033
29098
  import * as os5 from "os";
29034
- import path16 from "path";
29099
+ import path15 from "path";
29035
29100
  async function runParallelExecution(options, initialPrd) {
29036
29101
  const logger = getSafeLogger();
29037
29102
  const {
@@ -29070,7 +29135,7 @@ async function runParallelExecution(options, initialPrd) {
29070
29135
  maxConcurrency,
29071
29136
  activeStories: readyStories.map((s) => ({
29072
29137
  storyId: s.id,
29073
- worktreePath: path16.join(workdir, ".nax-wt", s.id)
29138
+ worktreePath: path15.join(workdir, ".nax-wt", s.id)
29074
29139
  }))
29075
29140
  }
29076
29141
  });
@@ -29958,11 +30023,11 @@ var exports_acceptance_loop = {};
29958
30023
  __export(exports_acceptance_loop, {
29959
30024
  runAcceptanceLoop: () => runAcceptanceLoop
29960
30025
  });
29961
- import path17 from "path";
30026
+ import path16 from "path";
29962
30027
  async function loadSpecContent(featureDir) {
29963
30028
  if (!featureDir)
29964
30029
  return "";
29965
- const specPath = path17.join(featureDir, "spec.md");
30030
+ const specPath = path16.join(featureDir, "spec.md");
29966
30031
  const specFile = Bun.file(specPath);
29967
30032
  return await specFile.exists() ? await specFile.text() : "";
29968
30033
  }
@@ -31783,11 +31848,11 @@ var require_react_reconciler_development = __commonJS((exports, module) => {
31783
31848
  fiber = fiber.next, id--;
31784
31849
  return fiber;
31785
31850
  }
31786
- function copyWithSetImpl(obj, path18, index, value) {
31787
- if (index >= path18.length)
31851
+ function copyWithSetImpl(obj, path17, index, value) {
31852
+ if (index >= path17.length)
31788
31853
  return value;
31789
- var key = path18[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
31790
- updated[key] = copyWithSetImpl(obj[key], path18, index + 1, value);
31854
+ var key = path17[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
31855
+ updated[key] = copyWithSetImpl(obj[key], path17, index + 1, value);
31791
31856
  return updated;
31792
31857
  }
31793
31858
  function copyWithRename(obj, oldPath, newPath) {
@@ -31807,11 +31872,11 @@ var require_react_reconciler_development = __commonJS((exports, module) => {
31807
31872
  index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(obj[oldKey], oldPath, newPath, index + 1);
31808
31873
  return updated;
31809
31874
  }
31810
- function copyWithDeleteImpl(obj, path18, index) {
31811
- var key = path18[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
31812
- if (index + 1 === path18.length)
31875
+ function copyWithDeleteImpl(obj, path17, index) {
31876
+ var key = path17[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
31877
+ if (index + 1 === path17.length)
31813
31878
  return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
31814
- updated[key] = copyWithDeleteImpl(obj[key], path18, index + 1);
31879
+ updated[key] = copyWithDeleteImpl(obj[key], path17, index + 1);
31815
31880
  return updated;
31816
31881
  }
31817
31882
  function shouldSuspendImpl() {
@@ -41834,29 +41899,29 @@ Check the top-level render call using <` + componentName2 + ">.");
41834
41899
  var didWarnAboutNestedUpdates = false;
41835
41900
  var didWarnAboutFindNodeInStrictMode = {};
41836
41901
  var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, scheduleRetry = null, setErrorHandler = null, setSuspenseHandler = null;
41837
- overrideHookState = function(fiber, id, path18, value) {
41902
+ overrideHookState = function(fiber, id, path17, value) {
41838
41903
  id = findHook(fiber, id);
41839
- id !== null && (path18 = copyWithSetImpl(id.memoizedState, path18, 0, value), id.memoizedState = path18, id.baseState = path18, fiber.memoizedProps = assign({}, fiber.memoizedProps), path18 = enqueueConcurrentRenderForLane(fiber, 2), path18 !== null && scheduleUpdateOnFiber(path18, fiber, 2));
41904
+ id !== null && (path17 = copyWithSetImpl(id.memoizedState, path17, 0, value), id.memoizedState = path17, id.baseState = path17, fiber.memoizedProps = assign({}, fiber.memoizedProps), path17 = enqueueConcurrentRenderForLane(fiber, 2), path17 !== null && scheduleUpdateOnFiber(path17, fiber, 2));
41840
41905
  };
41841
- overrideHookStateDeletePath = function(fiber, id, path18) {
41906
+ overrideHookStateDeletePath = function(fiber, id, path17) {
41842
41907
  id = findHook(fiber, id);
41843
- id !== null && (path18 = copyWithDeleteImpl(id.memoizedState, path18, 0), id.memoizedState = path18, id.baseState = path18, fiber.memoizedProps = assign({}, fiber.memoizedProps), path18 = enqueueConcurrentRenderForLane(fiber, 2), path18 !== null && scheduleUpdateOnFiber(path18, fiber, 2));
41908
+ id !== null && (path17 = copyWithDeleteImpl(id.memoizedState, path17, 0), id.memoizedState = path17, id.baseState = path17, fiber.memoizedProps = assign({}, fiber.memoizedProps), path17 = enqueueConcurrentRenderForLane(fiber, 2), path17 !== null && scheduleUpdateOnFiber(path17, fiber, 2));
41844
41909
  };
41845
41910
  overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
41846
41911
  id = findHook(fiber, id);
41847
41912
  id !== null && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), oldPath !== null && scheduleUpdateOnFiber(oldPath, fiber, 2));
41848
41913
  };
41849
- overrideProps = function(fiber, path18, value) {
41850
- fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path18, 0, value);
41914
+ overrideProps = function(fiber, path17, value) {
41915
+ fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path17, 0, value);
41851
41916
  fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
41852
- path18 = enqueueConcurrentRenderForLane(fiber, 2);
41853
- path18 !== null && scheduleUpdateOnFiber(path18, fiber, 2);
41917
+ path17 = enqueueConcurrentRenderForLane(fiber, 2);
41918
+ path17 !== null && scheduleUpdateOnFiber(path17, fiber, 2);
41854
41919
  };
41855
- overridePropsDeletePath = function(fiber, path18) {
41856
- fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path18, 0);
41920
+ overridePropsDeletePath = function(fiber, path17) {
41921
+ fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path17, 0);
41857
41922
  fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
41858
- path18 = enqueueConcurrentRenderForLane(fiber, 2);
41859
- path18 !== null && scheduleUpdateOnFiber(path18, fiber, 2);
41923
+ path17 = enqueueConcurrentRenderForLane(fiber, 2);
41924
+ path17 !== null && scheduleUpdateOnFiber(path17, fiber, 2);
41860
41925
  };
41861
41926
  overridePropsRenamePath = function(fiber, oldPath, newPath) {
41862
41927
  fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);
@@ -45911,8 +45976,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
45911
45976
  }
45912
45977
  return false;
45913
45978
  }
45914
- function utils_getInObject(object2, path18) {
45915
- return path18.reduce(function(reduced, attr) {
45979
+ function utils_getInObject(object2, path17) {
45980
+ return path17.reduce(function(reduced, attr) {
45916
45981
  if (reduced) {
45917
45982
  if (utils_hasOwnProperty.call(reduced, attr)) {
45918
45983
  return reduced[attr];
@@ -45924,11 +45989,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
45924
45989
  return null;
45925
45990
  }, object2);
45926
45991
  }
45927
- function deletePathInObject(object2, path18) {
45928
- var length = path18.length;
45929
- var last = path18[length - 1];
45992
+ function deletePathInObject(object2, path17) {
45993
+ var length = path17.length;
45994
+ var last = path17[length - 1];
45930
45995
  if (object2 != null) {
45931
- var parent = utils_getInObject(object2, path18.slice(0, length - 1));
45996
+ var parent = utils_getInObject(object2, path17.slice(0, length - 1));
45932
45997
  if (parent) {
45933
45998
  if (src_isArray(parent)) {
45934
45999
  parent.splice(last, 1);
@@ -45954,11 +46019,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
45954
46019
  }
45955
46020
  }
45956
46021
  }
45957
- function utils_setInObject(object2, path18, value) {
45958
- var length = path18.length;
45959
- var last = path18[length - 1];
46022
+ function utils_setInObject(object2, path17, value) {
46023
+ var length = path17.length;
46024
+ var last = path17[length - 1];
45960
46025
  if (object2 != null) {
45961
- var parent = utils_getInObject(object2, path18.slice(0, length - 1));
46026
+ var parent = utils_getInObject(object2, path17.slice(0, length - 1));
45962
46027
  if (parent) {
45963
46028
  parent[last] = value;
45964
46029
  }
@@ -46489,8 +46554,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46489
46554
  unserializable: Symbol("unserializable")
46490
46555
  };
46491
46556
  var LEVEL_THRESHOLD = 2;
46492
- function createDehydrated(type, inspectable, data, cleaned, path18) {
46493
- cleaned.push(path18);
46557
+ function createDehydrated(type, inspectable, data, cleaned, path17) {
46558
+ cleaned.push(path17);
46494
46559
  var dehydrated = {
46495
46560
  inspectable,
46496
46561
  type,
@@ -46508,13 +46573,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46508
46573
  }
46509
46574
  return dehydrated;
46510
46575
  }
46511
- function dehydrate(data, cleaned, unserializable, path18, isPathAllowed) {
46576
+ function dehydrate(data, cleaned, unserializable, path17, isPathAllowed) {
46512
46577
  var level = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
46513
46578
  var type = getDataType(data);
46514
46579
  var isPathAllowedCheck;
46515
46580
  switch (type) {
46516
46581
  case "html_element":
46517
- cleaned.push(path18);
46582
+ cleaned.push(path17);
46518
46583
  return {
46519
46584
  inspectable: false,
46520
46585
  preview_short: formatDataForPreview(data, false),
@@ -46523,7 +46588,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46523
46588
  type
46524
46589
  };
46525
46590
  case "function":
46526
- cleaned.push(path18);
46591
+ cleaned.push(path17);
46527
46592
  return {
46528
46593
  inspectable: false,
46529
46594
  preview_short: formatDataForPreview(data, false),
@@ -46532,14 +46597,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46532
46597
  type
46533
46598
  };
46534
46599
  case "string":
46535
- isPathAllowedCheck = isPathAllowed(path18);
46600
+ isPathAllowedCheck = isPathAllowed(path17);
46536
46601
  if (isPathAllowedCheck) {
46537
46602
  return data;
46538
46603
  } else {
46539
46604
  return data.length <= 500 ? data : data.slice(0, 500) + "...";
46540
46605
  }
46541
46606
  case "bigint":
46542
- cleaned.push(path18);
46607
+ cleaned.push(path17);
46543
46608
  return {
46544
46609
  inspectable: false,
46545
46610
  preview_short: formatDataForPreview(data, false),
@@ -46548,7 +46613,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46548
46613
  type
46549
46614
  };
46550
46615
  case "symbol":
46551
- cleaned.push(path18);
46616
+ cleaned.push(path17);
46552
46617
  return {
46553
46618
  inspectable: false,
46554
46619
  preview_short: formatDataForPreview(data, false),
@@ -46557,9 +46622,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46557
46622
  type
46558
46623
  };
46559
46624
  case "react_element": {
46560
- isPathAllowedCheck = isPathAllowed(path18);
46625
+ isPathAllowedCheck = isPathAllowed(path17);
46561
46626
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46562
- cleaned.push(path18);
46627
+ cleaned.push(path17);
46563
46628
  return {
46564
46629
  inspectable: true,
46565
46630
  preview_short: formatDataForPreview(data, false),
@@ -46576,19 +46641,19 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46576
46641
  preview_long: formatDataForPreview(data, true),
46577
46642
  name: getDisplayNameForReactElement(data) || "Unknown"
46578
46643
  };
46579
- unserializableValue.key = dehydrate(data.key, cleaned, unserializable, path18.concat(["key"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46644
+ unserializableValue.key = dehydrate(data.key, cleaned, unserializable, path17.concat(["key"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46580
46645
  if (data.$$typeof === REACT_LEGACY_ELEMENT_TYPE) {
46581
- unserializableValue.ref = dehydrate(data.ref, cleaned, unserializable, path18.concat(["ref"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46646
+ unserializableValue.ref = dehydrate(data.ref, cleaned, unserializable, path17.concat(["ref"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46582
46647
  }
46583
- unserializableValue.props = dehydrate(data.props, cleaned, unserializable, path18.concat(["props"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46584
- unserializable.push(path18);
46648
+ unserializableValue.props = dehydrate(data.props, cleaned, unserializable, path17.concat(["props"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46649
+ unserializable.push(path17);
46585
46650
  return unserializableValue;
46586
46651
  }
46587
46652
  case "react_lazy": {
46588
- isPathAllowedCheck = isPathAllowed(path18);
46653
+ isPathAllowedCheck = isPathAllowed(path17);
46589
46654
  var payload = data._payload;
46590
46655
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46591
- cleaned.push(path18);
46656
+ cleaned.push(path17);
46592
46657
  var inspectable = payload !== null && hydration_typeof(payload) === "object" && (payload._status === 1 || payload._status === 2 || payload.status === "fulfilled" || payload.status === "rejected");
46593
46658
  return {
46594
46659
  inspectable,
@@ -46605,13 +46670,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46605
46670
  preview_long: formatDataForPreview(data, true),
46606
46671
  name: "lazy()"
46607
46672
  };
46608
- _unserializableValue._payload = dehydrate(payload, cleaned, unserializable, path18.concat(["_payload"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46609
- unserializable.push(path18);
46673
+ _unserializableValue._payload = dehydrate(payload, cleaned, unserializable, path17.concat(["_payload"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46674
+ unserializable.push(path17);
46610
46675
  return _unserializableValue;
46611
46676
  }
46612
46677
  case "array_buffer":
46613
46678
  case "data_view":
46614
- cleaned.push(path18);
46679
+ cleaned.push(path17);
46615
46680
  return {
46616
46681
  inspectable: false,
46617
46682
  preview_short: formatDataForPreview(data, false),
@@ -46621,21 +46686,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46621
46686
  type
46622
46687
  };
46623
46688
  case "array":
46624
- isPathAllowedCheck = isPathAllowed(path18);
46689
+ isPathAllowedCheck = isPathAllowed(path17);
46625
46690
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46626
- return createDehydrated(type, true, data, cleaned, path18);
46691
+ return createDehydrated(type, true, data, cleaned, path17);
46627
46692
  }
46628
46693
  var arr = [];
46629
46694
  for (var i = 0;i < data.length; i++) {
46630
- arr[i] = dehydrateKey(data, i, cleaned, unserializable, path18.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46695
+ arr[i] = dehydrateKey(data, i, cleaned, unserializable, path17.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46631
46696
  }
46632
46697
  return arr;
46633
46698
  case "html_all_collection":
46634
46699
  case "typed_array":
46635
46700
  case "iterator":
46636
- isPathAllowedCheck = isPathAllowed(path18);
46701
+ isPathAllowedCheck = isPathAllowed(path17);
46637
46702
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46638
- return createDehydrated(type, true, data, cleaned, path18);
46703
+ return createDehydrated(type, true, data, cleaned, path17);
46639
46704
  } else {
46640
46705
  var _unserializableValue2 = {
46641
46706
  unserializable: true,
@@ -46647,13 +46712,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46647
46712
  name: typeof data.constructor !== "function" || typeof data.constructor.name !== "string" || data.constructor.name === "Object" ? "" : data.constructor.name
46648
46713
  };
46649
46714
  Array.from(data).forEach(function(item, i2) {
46650
- return _unserializableValue2[i2] = dehydrate(item, cleaned, unserializable, path18.concat([i2]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46715
+ return _unserializableValue2[i2] = dehydrate(item, cleaned, unserializable, path17.concat([i2]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46651
46716
  });
46652
- unserializable.push(path18);
46717
+ unserializable.push(path17);
46653
46718
  return _unserializableValue2;
46654
46719
  }
46655
46720
  case "opaque_iterator":
46656
- cleaned.push(path18);
46721
+ cleaned.push(path17);
46657
46722
  return {
46658
46723
  inspectable: false,
46659
46724
  preview_short: formatDataForPreview(data, false),
@@ -46662,7 +46727,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46662
46727
  type
46663
46728
  };
46664
46729
  case "date":
46665
- cleaned.push(path18);
46730
+ cleaned.push(path17);
46666
46731
  return {
46667
46732
  inspectable: false,
46668
46733
  preview_short: formatDataForPreview(data, false),
@@ -46671,7 +46736,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46671
46736
  type
46672
46737
  };
46673
46738
  case "regexp":
46674
- cleaned.push(path18);
46739
+ cleaned.push(path17);
46675
46740
  return {
46676
46741
  inspectable: false,
46677
46742
  preview_short: formatDataForPreview(data, false),
@@ -46680,9 +46745,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46680
46745
  type
46681
46746
  };
46682
46747
  case "thenable":
46683
- isPathAllowedCheck = isPathAllowed(path18);
46748
+ isPathAllowedCheck = isPathAllowed(path17);
46684
46749
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46685
- cleaned.push(path18);
46750
+ cleaned.push(path17);
46686
46751
  return {
46687
46752
  inspectable: data.status === "fulfilled" || data.status === "rejected",
46688
46753
  preview_short: formatDataForPreview(data, false),
@@ -46703,8 +46768,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46703
46768
  preview_long: formatDataForPreview(data, true),
46704
46769
  name: "fulfilled Thenable"
46705
46770
  };
46706
- _unserializableValue3.value = dehydrate(data.value, cleaned, unserializable, path18.concat(["value"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46707
- unserializable.push(path18);
46771
+ _unserializableValue3.value = dehydrate(data.value, cleaned, unserializable, path17.concat(["value"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46772
+ unserializable.push(path17);
46708
46773
  return _unserializableValue3;
46709
46774
  }
46710
46775
  case "rejected": {
@@ -46715,12 +46780,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46715
46780
  preview_long: formatDataForPreview(data, true),
46716
46781
  name: "rejected Thenable"
46717
46782
  };
46718
- _unserializableValue4.reason = dehydrate(data.reason, cleaned, unserializable, path18.concat(["reason"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46719
- unserializable.push(path18);
46783
+ _unserializableValue4.reason = dehydrate(data.reason, cleaned, unserializable, path17.concat(["reason"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46784
+ unserializable.push(path17);
46720
46785
  return _unserializableValue4;
46721
46786
  }
46722
46787
  default:
46723
- cleaned.push(path18);
46788
+ cleaned.push(path17);
46724
46789
  return {
46725
46790
  inspectable: false,
46726
46791
  preview_short: formatDataForPreview(data, false),
@@ -46730,21 +46795,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46730
46795
  };
46731
46796
  }
46732
46797
  case "object":
46733
- isPathAllowedCheck = isPathAllowed(path18);
46798
+ isPathAllowedCheck = isPathAllowed(path17);
46734
46799
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46735
- return createDehydrated(type, true, data, cleaned, path18);
46800
+ return createDehydrated(type, true, data, cleaned, path17);
46736
46801
  } else {
46737
46802
  var object2 = {};
46738
46803
  getAllEnumerableKeys(data).forEach(function(key) {
46739
46804
  var name = key.toString();
46740
- object2[name] = dehydrateKey(data, key, cleaned, unserializable, path18.concat([name]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46805
+ object2[name] = dehydrateKey(data, key, cleaned, unserializable, path17.concat([name]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46741
46806
  });
46742
46807
  return object2;
46743
46808
  }
46744
46809
  case "class_instance": {
46745
- isPathAllowedCheck = isPathAllowed(path18);
46810
+ isPathAllowedCheck = isPathAllowed(path17);
46746
46811
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46747
- return createDehydrated(type, true, data, cleaned, path18);
46812
+ return createDehydrated(type, true, data, cleaned, path17);
46748
46813
  }
46749
46814
  var value = {
46750
46815
  unserializable: true,
@@ -46756,15 +46821,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46756
46821
  };
46757
46822
  getAllEnumerableKeys(data).forEach(function(key) {
46758
46823
  var keyAsString = key.toString();
46759
- value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path18.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46824
+ value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path17.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46760
46825
  });
46761
- unserializable.push(path18);
46826
+ unserializable.push(path17);
46762
46827
  return value;
46763
46828
  }
46764
46829
  case "error": {
46765
- isPathAllowedCheck = isPathAllowed(path18);
46830
+ isPathAllowedCheck = isPathAllowed(path17);
46766
46831
  if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
46767
- return createDehydrated(type, true, data, cleaned, path18);
46832
+ return createDehydrated(type, true, data, cleaned, path17);
46768
46833
  }
46769
46834
  var _value = {
46770
46835
  unserializable: true,
@@ -46774,22 +46839,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46774
46839
  preview_long: formatDataForPreview(data, true),
46775
46840
  name: data.name
46776
46841
  };
46777
- _value.message = dehydrate(data.message, cleaned, unserializable, path18.concat(["message"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46778
- _value.stack = dehydrate(data.stack, cleaned, unserializable, path18.concat(["stack"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46842
+ _value.message = dehydrate(data.message, cleaned, unserializable, path17.concat(["message"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46843
+ _value.stack = dehydrate(data.stack, cleaned, unserializable, path17.concat(["stack"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46779
46844
  if ("cause" in data) {
46780
- _value.cause = dehydrate(data.cause, cleaned, unserializable, path18.concat(["cause"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46845
+ _value.cause = dehydrate(data.cause, cleaned, unserializable, path17.concat(["cause"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46781
46846
  }
46782
46847
  getAllEnumerableKeys(data).forEach(function(key) {
46783
46848
  var keyAsString = key.toString();
46784
- _value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path18.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46849
+ _value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path17.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
46785
46850
  });
46786
- unserializable.push(path18);
46851
+ unserializable.push(path17);
46787
46852
  return _value;
46788
46853
  }
46789
46854
  case "infinity":
46790
46855
  case "nan":
46791
46856
  case "undefined":
46792
- cleaned.push(path18);
46857
+ cleaned.push(path17);
46793
46858
  return {
46794
46859
  type
46795
46860
  };
@@ -46797,10 +46862,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46797
46862
  return data;
46798
46863
  }
46799
46864
  }
46800
- function dehydrateKey(parent, key, cleaned, unserializable, path18, isPathAllowed) {
46865
+ function dehydrateKey(parent, key, cleaned, unserializable, path17, isPathAllowed) {
46801
46866
  var level = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
46802
46867
  try {
46803
- return dehydrate(parent[key], cleaned, unserializable, path18, isPathAllowed, level);
46868
+ return dehydrate(parent[key], cleaned, unserializable, path17, isPathAllowed, level);
46804
46869
  } catch (error48) {
46805
46870
  var preview = "";
46806
46871
  if (hydration_typeof(error48) === "object" && error48 !== null && typeof error48.stack === "string") {
@@ -46808,7 +46873,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46808
46873
  } else if (typeof error48 === "string") {
46809
46874
  preview = error48;
46810
46875
  }
46811
- cleaned.push(path18);
46876
+ cleaned.push(path17);
46812
46877
  return {
46813
46878
  inspectable: false,
46814
46879
  preview_short: "[Exception]",
@@ -46818,8 +46883,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46818
46883
  };
46819
46884
  }
46820
46885
  }
46821
- function fillInPath(object2, data, path18, value) {
46822
- var target = getInObject(object2, path18);
46886
+ function fillInPath(object2, data, path17, value) {
46887
+ var target = getInObject(object2, path17);
46823
46888
  if (target != null) {
46824
46889
  if (!target[meta3.unserializable]) {
46825
46890
  delete target[meta3.inspectable];
@@ -46834,9 +46899,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46834
46899
  }
46835
46900
  if (value !== null && data.unserializable.length > 0) {
46836
46901
  var unserializablePath = data.unserializable[0];
46837
- var isMatch = unserializablePath.length === path18.length;
46838
- for (var i = 0;i < path18.length; i++) {
46839
- if (path18[i] !== unserializablePath[i]) {
46902
+ var isMatch = unserializablePath.length === path17.length;
46903
+ for (var i = 0;i < path17.length; i++) {
46904
+ if (path17[i] !== unserializablePath[i]) {
46840
46905
  isMatch = false;
46841
46906
  break;
46842
46907
  }
@@ -46845,13 +46910,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46845
46910
  upgradeUnserializable(value, value);
46846
46911
  }
46847
46912
  }
46848
- setInObject(object2, path18, value);
46913
+ setInObject(object2, path17, value);
46849
46914
  }
46850
46915
  function hydrate(object2, cleaned, unserializable) {
46851
- cleaned.forEach(function(path18) {
46852
- var length = path18.length;
46853
- var last = path18[length - 1];
46854
- var parent = getInObject(object2, path18.slice(0, length - 1));
46916
+ cleaned.forEach(function(path17) {
46917
+ var length = path17.length;
46918
+ var last = path17[length - 1];
46919
+ var parent = getInObject(object2, path17.slice(0, length - 1));
46855
46920
  if (!parent || !parent.hasOwnProperty(last)) {
46856
46921
  return;
46857
46922
  }
@@ -46877,10 +46942,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46877
46942
  parent[last] = replaced;
46878
46943
  }
46879
46944
  });
46880
- unserializable.forEach(function(path18) {
46881
- var length = path18.length;
46882
- var last = path18[length - 1];
46883
- var parent = getInObject(object2, path18.slice(0, length - 1));
46945
+ unserializable.forEach(function(path17) {
46946
+ var length = path17.length;
46947
+ var last = path17[length - 1];
46948
+ var parent = getInObject(object2, path17.slice(0, length - 1));
46884
46949
  if (!parent || !parent.hasOwnProperty(last)) {
46885
46950
  return;
46886
46951
  }
@@ -47001,11 +47066,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
47001
47066
  return gte(version2, FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER);
47002
47067
  }
47003
47068
  function cleanForBridge(data, isPathAllowed) {
47004
- var path18 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
47069
+ var path17 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
47005
47070
  if (data !== null) {
47006
47071
  var cleanedPaths = [];
47007
47072
  var unserializablePaths = [];
47008
- var cleanedData = dehydrate(data, cleanedPaths, unserializablePaths, path18, isPathAllowed);
47073
+ var cleanedData = dehydrate(data, cleanedPaths, unserializablePaths, path17, isPathAllowed);
47009
47074
  return {
47010
47075
  data: cleanedData,
47011
47076
  cleaned: cleanedPaths,
@@ -47015,18 +47080,18 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
47015
47080
  return null;
47016
47081
  }
47017
47082
  }
47018
- function copyWithDelete(obj, path18) {
47083
+ function copyWithDelete(obj, path17) {
47019
47084
  var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
47020
- var key = path18[index];
47085
+ var key = path17[index];
47021
47086
  var updated = shared_isArray(obj) ? obj.slice() : utils_objectSpread({}, obj);
47022
- if (index + 1 === path18.length) {
47087
+ if (index + 1 === path17.length) {
47023
47088
  if (shared_isArray(updated)) {
47024
47089
  updated.splice(key, 1);
47025
47090
  } else {
47026
47091
  delete updated[key];
47027
47092
  }
47028
47093
  } else {
47029
- updated[key] = copyWithDelete(obj[key], path18, index + 1);
47094
+ updated[key] = copyWithDelete(obj[key], path17, index + 1);
47030
47095
  }
47031
47096
  return updated;
47032
47097
  }
@@ -47047,14 +47112,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
47047
47112
  }
47048
47113
  return updated;
47049
47114
  }
47050
- function copyWithSet(obj, path18, value) {
47115
+ function copyWithSet(obj, path17, value) {
47051
47116
  var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
47052
- if (index >= path18.length) {
47117
+ if (index >= path17.length) {
47053
47118
  return value;
47054
47119
  }
47055
- var key = path18[index];
47120
+ var key = path17[index];
47056
47121
  var updated = shared_isArray(obj) ? obj.slice() : utils_objectSpread({}, obj);
47057
- updated[key] = copyWithSet(obj[key], path18, value, index + 1);
47122
+ updated[key] = copyWithSet(obj[key], path17, value, index + 1);
47058
47123
  return updated;
47059
47124
  }
47060
47125
  function getEffectDurations(root) {
@@ -48382,12 +48447,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48382
48447
  }
48383
48448
  });
48384
48449
  bridge_defineProperty(_this, "overrideValueAtPath", function(_ref) {
48385
- var { id, path: path18, rendererID, type, value } = _ref;
48450
+ var { id, path: path17, rendererID, type, value } = _ref;
48386
48451
  switch (type) {
48387
48452
  case "context":
48388
48453
  _this.send("overrideContext", {
48389
48454
  id,
48390
- path: path18,
48455
+ path: path17,
48391
48456
  rendererID,
48392
48457
  wasForwarded: true,
48393
48458
  value
@@ -48396,7 +48461,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48396
48461
  case "hooks":
48397
48462
  _this.send("overrideHookState", {
48398
48463
  id,
48399
- path: path18,
48464
+ path: path17,
48400
48465
  rendererID,
48401
48466
  wasForwarded: true,
48402
48467
  value
@@ -48405,7 +48470,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48405
48470
  case "props":
48406
48471
  _this.send("overrideProps", {
48407
48472
  id,
48408
- path: path18,
48473
+ path: path17,
48409
48474
  rendererID,
48410
48475
  wasForwarded: true,
48411
48476
  value
@@ -48414,7 +48479,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48414
48479
  case "state":
48415
48480
  _this.send("overrideState", {
48416
48481
  id,
48417
- path: path18,
48482
+ path: path17,
48418
48483
  rendererID,
48419
48484
  wasForwarded: true,
48420
48485
  value
@@ -48748,12 +48813,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48748
48813
  }
48749
48814
  });
48750
48815
  agent_defineProperty(_this, "copyElementPath", function(_ref5) {
48751
- var { id, path: path18, rendererID } = _ref5;
48816
+ var { id, path: path17, rendererID } = _ref5;
48752
48817
  var renderer = _this._rendererInterfaces[rendererID];
48753
48818
  if (renderer == null) {
48754
48819
  console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
48755
48820
  } else {
48756
- var value = renderer.getSerializedElementValueByPath(id, path18);
48821
+ var value = renderer.getSerializedElementValueByPath(id, path17);
48757
48822
  if (value != null) {
48758
48823
  _this._bridge.send("saveToClipboard", value);
48759
48824
  } else {
@@ -48762,12 +48827,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48762
48827
  }
48763
48828
  });
48764
48829
  agent_defineProperty(_this, "deletePath", function(_ref6) {
48765
- var { hookID, id, path: path18, rendererID, type } = _ref6;
48830
+ var { hookID, id, path: path17, rendererID, type } = _ref6;
48766
48831
  var renderer = _this._rendererInterfaces[rendererID];
48767
48832
  if (renderer == null) {
48768
48833
  console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
48769
48834
  } else {
48770
- renderer.deletePath(type, id, hookID, path18);
48835
+ renderer.deletePath(type, id, hookID, path17);
48771
48836
  }
48772
48837
  });
48773
48838
  agent_defineProperty(_this, "getBackendVersion", function() {
@@ -48804,12 +48869,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48804
48869
  }
48805
48870
  });
48806
48871
  agent_defineProperty(_this, "inspectElement", function(_ref9) {
48807
- var { forceFullData, id, path: path18, rendererID, requestID } = _ref9;
48872
+ var { forceFullData, id, path: path17, rendererID, requestID } = _ref9;
48808
48873
  var renderer = _this._rendererInterfaces[rendererID];
48809
48874
  if (renderer == null) {
48810
48875
  console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
48811
48876
  } else {
48812
- _this._bridge.send("inspectedElement", renderer.inspectElement(requestID, id, path18, forceFullData));
48877
+ _this._bridge.send("inspectedElement", renderer.inspectElement(requestID, id, path17, forceFullData));
48813
48878
  if (_this._persistedSelectionMatch === null || _this._persistedSelectionMatch.id !== id) {
48814
48879
  _this._persistedSelection = null;
48815
48880
  _this._persistedSelectionMatch = null;
@@ -48843,15 +48908,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48843
48908
  }
48844
48909
  for (var rendererID in _this._rendererInterfaces) {
48845
48910
  var renderer = _this._rendererInterfaces[rendererID];
48846
- var path18 = null;
48911
+ var path17 = null;
48847
48912
  if (suspendedByPathIndex !== null && rendererPath !== null) {
48848
48913
  var suspendedByPathRendererIndex = suspendedByPathIndex - suspendedByOffset;
48849
48914
  var rendererHasRequestedSuspendedByPath = renderer.getElementAttributeByPath(id, ["suspendedBy", suspendedByPathRendererIndex]) !== undefined;
48850
48915
  if (rendererHasRequestedSuspendedByPath) {
48851
- path18 = ["suspendedBy", suspendedByPathRendererIndex].concat(rendererPath);
48916
+ path17 = ["suspendedBy", suspendedByPathRendererIndex].concat(rendererPath);
48852
48917
  }
48853
48918
  }
48854
- var inspectedRootsPayload = renderer.inspectElement(requestID, id, path18, forceFullData);
48919
+ var inspectedRootsPayload = renderer.inspectElement(requestID, id, path17, forceFullData);
48855
48920
  switch (inspectedRootsPayload.type) {
48856
48921
  case "hydrated-path":
48857
48922
  inspectedRootsPayload.path[1] += suspendedByOffset;
@@ -48945,20 +49010,20 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48945
49010
  }
48946
49011
  });
48947
49012
  agent_defineProperty(_this, "overrideValueAtPath", function(_ref15) {
48948
- var { hookID, id, path: path18, rendererID, type, value } = _ref15;
49013
+ var { hookID, id, path: path17, rendererID, type, value } = _ref15;
48949
49014
  var renderer = _this._rendererInterfaces[rendererID];
48950
49015
  if (renderer == null) {
48951
49016
  console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
48952
49017
  } else {
48953
- renderer.overrideValueAtPath(type, id, hookID, path18, value);
49018
+ renderer.overrideValueAtPath(type, id, hookID, path17, value);
48954
49019
  }
48955
49020
  });
48956
49021
  agent_defineProperty(_this, "overrideContext", function(_ref16) {
48957
- var { id, path: path18, rendererID, wasForwarded, value } = _ref16;
49022
+ var { id, path: path17, rendererID, wasForwarded, value } = _ref16;
48958
49023
  if (!wasForwarded) {
48959
49024
  _this.overrideValueAtPath({
48960
49025
  id,
48961
- path: path18,
49026
+ path: path17,
48962
49027
  rendererID,
48963
49028
  type: "context",
48964
49029
  value
@@ -48966,11 +49031,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48966
49031
  }
48967
49032
  });
48968
49033
  agent_defineProperty(_this, "overrideHookState", function(_ref17) {
48969
- var { id, hookID, path: path18, rendererID, wasForwarded, value } = _ref17;
49034
+ var { id, hookID, path: path17, rendererID, wasForwarded, value } = _ref17;
48970
49035
  if (!wasForwarded) {
48971
49036
  _this.overrideValueAtPath({
48972
49037
  id,
48973
- path: path18,
49038
+ path: path17,
48974
49039
  rendererID,
48975
49040
  type: "hooks",
48976
49041
  value
@@ -48978,11 +49043,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48978
49043
  }
48979
49044
  });
48980
49045
  agent_defineProperty(_this, "overrideProps", function(_ref18) {
48981
- var { id, path: path18, rendererID, wasForwarded, value } = _ref18;
49046
+ var { id, path: path17, rendererID, wasForwarded, value } = _ref18;
48982
49047
  if (!wasForwarded) {
48983
49048
  _this.overrideValueAtPath({
48984
49049
  id,
48985
- path: path18,
49050
+ path: path17,
48986
49051
  rendererID,
48987
49052
  type: "props",
48988
49053
  value
@@ -48990,11 +49055,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
48990
49055
  }
48991
49056
  });
48992
49057
  agent_defineProperty(_this, "overrideState", function(_ref19) {
48993
- var { id, path: path18, rendererID, wasForwarded, value } = _ref19;
49058
+ var { id, path: path17, rendererID, wasForwarded, value } = _ref19;
48994
49059
  if (!wasForwarded) {
48995
49060
  _this.overrideValueAtPath({
48996
49061
  id,
48997
- path: path18,
49062
+ path: path17,
48998
49063
  rendererID,
48999
49064
  type: "state",
49000
49065
  value
@@ -49061,12 +49126,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
49061
49126
  _this._bridge.send("stopInspectingHost", selected);
49062
49127
  });
49063
49128
  agent_defineProperty(_this, "storeAsGlobal", function(_ref23) {
49064
- var { count, id, path: path18, rendererID } = _ref23;
49129
+ var { count, id, path: path17, rendererID } = _ref23;
49065
49130
  var renderer = _this._rendererInterfaces[rendererID];
49066
49131
  if (renderer == null) {
49067
49132
  console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
49068
49133
  } else {
49069
- renderer.storeAsGlobal(id, path18, count);
49134
+ renderer.storeAsGlobal(id, path17, count);
49070
49135
  }
49071
49136
  });
49072
49137
  agent_defineProperty(_this, "updateHookSettings", function(settings) {
@@ -49083,12 +49148,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
49083
49148
  var rendererID = +rendererIDString;
49084
49149
  var renderer = _this._rendererInterfaces[rendererID];
49085
49150
  if (_this._lastSelectedRendererID === rendererID) {
49086
- var path18 = renderer.getPathForElement(_this._lastSelectedElementID);
49087
- if (path18 !== null) {
49088
- renderer.setTrackedPath(path18);
49151
+ var path17 = renderer.getPathForElement(_this._lastSelectedElementID);
49152
+ if (path17 !== null) {
49153
+ renderer.setTrackedPath(path17);
49089
49154
  _this._persistedSelection = {
49090
49155
  rendererID,
49091
- path: path18
49156
+ path: path17
49092
49157
  };
49093
49158
  }
49094
49159
  }
@@ -49163,11 +49228,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
49163
49228
  var rendererID = _this._lastSelectedRendererID;
49164
49229
  var id = _this._lastSelectedElementID;
49165
49230
  var renderer = _this._rendererInterfaces[rendererID];
49166
- var path18 = renderer != null ? renderer.getPathForElement(id) : null;
49167
- if (path18 !== null) {
49231
+ var path17 = renderer != null ? renderer.getPathForElement(id) : null;
49232
+ if (path17 !== null) {
49168
49233
  storage_sessionStorageSetItem(SESSION_STORAGE_LAST_SELECTION_KEY, JSON.stringify({
49169
49234
  rendererID,
49170
- path: path18
49235
+ path: path17
49171
49236
  }));
49172
49237
  } else {
49173
49238
  storage_sessionStorageRemoveItem(SESSION_STORAGE_LAST_SELECTION_KEY);
@@ -49890,7 +49955,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
49890
49955
  hasElementWithId: function hasElementWithId() {
49891
49956
  return false;
49892
49957
  },
49893
- inspectElement: function inspectElement(requestID, id, path18) {
49958
+ inspectElement: function inspectElement(requestID, id, path17) {
49894
49959
  return {
49895
49960
  id,
49896
49961
  responseID: requestID,
@@ -55160,9 +55225,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
55160
55225
  }
55161
55226
  return null;
55162
55227
  }
55163
- function getElementAttributeByPath(id, path18) {
55228
+ function getElementAttributeByPath(id, path17) {
55164
55229
  if (isMostRecentlyInspectedElement(id)) {
55165
- return utils_getInObject(mostRecentlyInspectedElement, path18);
55230
+ return utils_getInObject(mostRecentlyInspectedElement, path17);
55166
55231
  }
55167
55232
  return;
55168
55233
  }
@@ -55865,9 +55930,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
55865
55930
  function isMostRecentlyInspectedElementCurrent(id) {
55866
55931
  return isMostRecentlyInspectedElement(id) && !hasElementUpdatedSinceLastInspected;
55867
55932
  }
55868
- function mergeInspectedPaths(path18) {
55933
+ function mergeInspectedPaths(path17) {
55869
55934
  var current = currentlyInspectedPaths;
55870
- path18.forEach(function(key) {
55935
+ path17.forEach(function(key) {
55871
55936
  if (!current[key]) {
55872
55937
  current[key] = {};
55873
55938
  }
@@ -55875,21 +55940,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
55875
55940
  });
55876
55941
  }
55877
55942
  function createIsPathAllowed(key, secondaryCategory) {
55878
- return function isPathAllowed(path18) {
55943
+ return function isPathAllowed(path17) {
55879
55944
  switch (secondaryCategory) {
55880
55945
  case "hooks":
55881
- if (path18.length === 1) {
55946
+ if (path17.length === 1) {
55882
55947
  return true;
55883
55948
  }
55884
- if (path18[path18.length - 2] === "hookSource" && path18[path18.length - 1] === "fileName") {
55949
+ if (path17[path17.length - 2] === "hookSource" && path17[path17.length - 1] === "fileName") {
55885
55950
  return true;
55886
55951
  }
55887
- if (path18[path18.length - 1] === "subHooks" || path18[path18.length - 2] === "subHooks") {
55952
+ if (path17[path17.length - 1] === "subHooks" || path17[path17.length - 2] === "subHooks") {
55888
55953
  return true;
55889
55954
  }
55890
55955
  break;
55891
55956
  case "suspendedBy":
55892
- if (path18.length < 5) {
55957
+ if (path17.length < 5) {
55893
55958
  return true;
55894
55959
  }
55895
55960
  break;
@@ -55900,8 +55965,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
55900
55965
  if (!current) {
55901
55966
  return false;
55902
55967
  }
55903
- for (var i = 0;i < path18.length; i++) {
55904
- current = current[path18[i]];
55968
+ for (var i = 0;i < path17.length; i++) {
55969
+ current = current[path17[i]];
55905
55970
  if (!current) {
55906
55971
  return false;
55907
55972
  }
@@ -55955,38 +56020,38 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
55955
56020
  break;
55956
56021
  }
55957
56022
  }
55958
- function storeAsGlobal(id, path18, count) {
56023
+ function storeAsGlobal(id, path17, count) {
55959
56024
  if (isMostRecentlyInspectedElement(id)) {
55960
- var value = utils_getInObject(mostRecentlyInspectedElement, path18);
56025
+ var value = utils_getInObject(mostRecentlyInspectedElement, path17);
55961
56026
  var key = "$reactTemp".concat(count);
55962
56027
  window[key] = value;
55963
56028
  console.log(key);
55964
56029
  console.log(value);
55965
56030
  }
55966
56031
  }
55967
- function getSerializedElementValueByPath(id, path18) {
56032
+ function getSerializedElementValueByPath(id, path17) {
55968
56033
  if (isMostRecentlyInspectedElement(id)) {
55969
- var valueToCopy = utils_getInObject(mostRecentlyInspectedElement, path18);
56034
+ var valueToCopy = utils_getInObject(mostRecentlyInspectedElement, path17);
55970
56035
  return serializeToString(valueToCopy);
55971
56036
  }
55972
56037
  }
55973
- function inspectElement(requestID, id, path18, forceFullData) {
55974
- if (path18 !== null) {
55975
- mergeInspectedPaths(path18);
56038
+ function inspectElement(requestID, id, path17, forceFullData) {
56039
+ if (path17 !== null) {
56040
+ mergeInspectedPaths(path17);
55976
56041
  }
55977
56042
  if (isMostRecentlyInspectedElement(id) && !forceFullData) {
55978
56043
  if (!hasElementUpdatedSinceLastInspected) {
55979
- if (path18 !== null) {
56044
+ if (path17 !== null) {
55980
56045
  var secondaryCategory = null;
55981
- if (path18[0] === "hooks" || path18[0] === "suspendedBy") {
55982
- secondaryCategory = path18[0];
56046
+ if (path17[0] === "hooks" || path17[0] === "suspendedBy") {
56047
+ secondaryCategory = path17[0];
55983
56048
  }
55984
56049
  return {
55985
56050
  id,
55986
56051
  responseID: requestID,
55987
56052
  type: "hydrated-path",
55988
- path: path18,
55989
- value: cleanForBridge(utils_getInObject(mostRecentlyInspectedElement, path18), createIsPathAllowed(null, secondaryCategory), path18)
56053
+ path: path17,
56054
+ value: cleanForBridge(utils_getInObject(mostRecentlyInspectedElement, path17), createIsPathAllowed(null, secondaryCategory), path17)
55990
56055
  };
55991
56056
  } else {
55992
56057
  return {
@@ -56182,7 +56247,7 @@ The error thrown in the component is:
56182
56247
  console.groupEnd();
56183
56248
  }
56184
56249
  }
56185
- function deletePath(type, id, hookID, path18) {
56250
+ function deletePath(type, id, hookID, path17) {
56186
56251
  var devtoolsInstance = idToDevToolsInstanceMap.get(id);
56187
56252
  if (devtoolsInstance === undefined) {
56188
56253
  console.warn('Could not find DevToolsInstance with id "'.concat(id, '"'));
@@ -56196,11 +56261,11 @@ The error thrown in the component is:
56196
56261
  var instance2 = fiber.stateNode;
56197
56262
  switch (type) {
56198
56263
  case "context":
56199
- path18 = path18.slice(1);
56264
+ path17 = path17.slice(1);
56200
56265
  switch (fiber.tag) {
56201
56266
  case ClassComponent:
56202
- if (path18.length === 0) {} else {
56203
- deletePathInObject(instance2.context, path18);
56267
+ if (path17.length === 0) {} else {
56268
+ deletePathInObject(instance2.context, path17);
56204
56269
  }
56205
56270
  instance2.forceUpdate();
56206
56271
  break;
@@ -56210,21 +56275,21 @@ The error thrown in the component is:
56210
56275
  break;
56211
56276
  case "hooks":
56212
56277
  if (typeof overrideHookStateDeletePath === "function") {
56213
- overrideHookStateDeletePath(fiber, hookID, path18);
56278
+ overrideHookStateDeletePath(fiber, hookID, path17);
56214
56279
  }
56215
56280
  break;
56216
56281
  case "props":
56217
56282
  if (instance2 === null) {
56218
56283
  if (typeof overridePropsDeletePath === "function") {
56219
- overridePropsDeletePath(fiber, path18);
56284
+ overridePropsDeletePath(fiber, path17);
56220
56285
  }
56221
56286
  } else {
56222
- fiber.pendingProps = copyWithDelete(instance2.props, path18);
56287
+ fiber.pendingProps = copyWithDelete(instance2.props, path17);
56223
56288
  instance2.forceUpdate();
56224
56289
  }
56225
56290
  break;
56226
56291
  case "state":
56227
- deletePathInObject(instance2.state, path18);
56292
+ deletePathInObject(instance2.state, path17);
56228
56293
  instance2.forceUpdate();
56229
56294
  break;
56230
56295
  }
@@ -56279,7 +56344,7 @@ The error thrown in the component is:
56279
56344
  }
56280
56345
  }
56281
56346
  }
56282
- function overrideValueAtPath(type, id, hookID, path18, value) {
56347
+ function overrideValueAtPath(type, id, hookID, path17, value) {
56283
56348
  var devtoolsInstance = idToDevToolsInstanceMap.get(id);
56284
56349
  if (devtoolsInstance === undefined) {
56285
56350
  console.warn('Could not find DevToolsInstance with id "'.concat(id, '"'));
@@ -56293,13 +56358,13 @@ The error thrown in the component is:
56293
56358
  var instance2 = fiber.stateNode;
56294
56359
  switch (type) {
56295
56360
  case "context":
56296
- path18 = path18.slice(1);
56361
+ path17 = path17.slice(1);
56297
56362
  switch (fiber.tag) {
56298
56363
  case ClassComponent:
56299
- if (path18.length === 0) {
56364
+ if (path17.length === 0) {
56300
56365
  instance2.context = value;
56301
56366
  } else {
56302
- utils_setInObject(instance2.context, path18, value);
56367
+ utils_setInObject(instance2.context, path17, value);
56303
56368
  }
56304
56369
  instance2.forceUpdate();
56305
56370
  break;
@@ -56309,18 +56374,18 @@ The error thrown in the component is:
56309
56374
  break;
56310
56375
  case "hooks":
56311
56376
  if (typeof overrideHookState === "function") {
56312
- overrideHookState(fiber, hookID, path18, value);
56377
+ overrideHookState(fiber, hookID, path17, value);
56313
56378
  }
56314
56379
  break;
56315
56380
  case "props":
56316
56381
  switch (fiber.tag) {
56317
56382
  case ClassComponent:
56318
- fiber.pendingProps = copyWithSet(instance2.props, path18, value);
56383
+ fiber.pendingProps = copyWithSet(instance2.props, path17, value);
56319
56384
  instance2.forceUpdate();
56320
56385
  break;
56321
56386
  default:
56322
56387
  if (typeof overrideProps === "function") {
56323
- overrideProps(fiber, path18, value);
56388
+ overrideProps(fiber, path17, value);
56324
56389
  }
56325
56390
  break;
56326
56391
  }
@@ -56328,7 +56393,7 @@ The error thrown in the component is:
56328
56393
  case "state":
56329
56394
  switch (fiber.tag) {
56330
56395
  case ClassComponent:
56331
- utils_setInObject(instance2.state, path18, value);
56396
+ utils_setInObject(instance2.state, path17, value);
56332
56397
  instance2.forceUpdate();
56333
56398
  break;
56334
56399
  }
@@ -56614,14 +56679,14 @@ The error thrown in the component is:
56614
56679
  var trackedPathMatchInstance = null;
56615
56680
  var trackedPathMatchDepth = -1;
56616
56681
  var mightBeOnTrackedPath = false;
56617
- function setTrackedPath(path18) {
56618
- if (path18 === null) {
56682
+ function setTrackedPath(path17) {
56683
+ if (path17 === null) {
56619
56684
  trackedPathMatchFiber = null;
56620
56685
  trackedPathMatchInstance = null;
56621
56686
  trackedPathMatchDepth = -1;
56622
56687
  mightBeOnTrackedPath = false;
56623
56688
  }
56624
- trackedPath = path18;
56689
+ trackedPath = path17;
56625
56690
  }
56626
56691
  function updateTrackedPathStateBeforeMount(fiber, fiberInstance) {
56627
56692
  if (trackedPath === null || !mightBeOnTrackedPath) {
@@ -57385,9 +57450,9 @@ The error thrown in the component is:
57385
57450
  }
57386
57451
  var currentlyInspectedElementID = null;
57387
57452
  var currentlyInspectedPaths = {};
57388
- function mergeInspectedPaths(path18) {
57453
+ function mergeInspectedPaths(path17) {
57389
57454
  var current = currentlyInspectedPaths;
57390
- path18.forEach(function(key) {
57455
+ path17.forEach(function(key) {
57391
57456
  if (!current[key]) {
57392
57457
  current[key] = {};
57393
57458
  }
@@ -57395,13 +57460,13 @@ The error thrown in the component is:
57395
57460
  });
57396
57461
  }
57397
57462
  function createIsPathAllowed(key) {
57398
- return function isPathAllowed(path18) {
57463
+ return function isPathAllowed(path17) {
57399
57464
  var current = currentlyInspectedPaths[key];
57400
57465
  if (!current) {
57401
57466
  return false;
57402
57467
  }
57403
- for (var i = 0;i < path18.length; i++) {
57404
- current = current[path18[i]];
57468
+ for (var i = 0;i < path17.length; i++) {
57469
+ current = current[path17[i]];
57405
57470
  if (!current) {
57406
57471
  return false;
57407
57472
  }
@@ -57451,24 +57516,24 @@ The error thrown in the component is:
57451
57516
  break;
57452
57517
  }
57453
57518
  }
57454
- function storeAsGlobal(id, path18, count) {
57519
+ function storeAsGlobal(id, path17, count) {
57455
57520
  var inspectedElement = inspectElementRaw(id);
57456
57521
  if (inspectedElement !== null) {
57457
- var value = utils_getInObject(inspectedElement, path18);
57522
+ var value = utils_getInObject(inspectedElement, path17);
57458
57523
  var key = "$reactTemp".concat(count);
57459
57524
  window[key] = value;
57460
57525
  console.log(key);
57461
57526
  console.log(value);
57462
57527
  }
57463
57528
  }
57464
- function getSerializedElementValueByPath(id, path18) {
57529
+ function getSerializedElementValueByPath(id, path17) {
57465
57530
  var inspectedElement = inspectElementRaw(id);
57466
57531
  if (inspectedElement !== null) {
57467
- var valueToCopy = utils_getInObject(inspectedElement, path18);
57532
+ var valueToCopy = utils_getInObject(inspectedElement, path17);
57468
57533
  return serializeToString(valueToCopy);
57469
57534
  }
57470
57535
  }
57471
- function inspectElement(requestID, id, path18, forceFullData) {
57536
+ function inspectElement(requestID, id, path17, forceFullData) {
57472
57537
  if (forceFullData || currentlyInspectedElementID !== id) {
57473
57538
  currentlyInspectedElementID = id;
57474
57539
  currentlyInspectedPaths = {};
@@ -57481,8 +57546,8 @@ The error thrown in the component is:
57481
57546
  type: "not-found"
57482
57547
  };
57483
57548
  }
57484
- if (path18 !== null) {
57485
- mergeInspectedPaths(path18);
57549
+ if (path17 !== null) {
57550
+ mergeInspectedPaths(path17);
57486
57551
  }
57487
57552
  updateSelectedElement(id);
57488
57553
  inspectedElement.context = cleanForBridge(inspectedElement.context, createIsPathAllowed("context"));
@@ -57685,10 +57750,10 @@ The error thrown in the component is:
57685
57750
  console.groupEnd();
57686
57751
  }
57687
57752
  }
57688
- function getElementAttributeByPath(id, path18) {
57753
+ function getElementAttributeByPath(id, path17) {
57689
57754
  var inspectedElement = inspectElementRaw(id);
57690
57755
  if (inspectedElement !== null) {
57691
- return utils_getInObject(inspectedElement, path18);
57756
+ return utils_getInObject(inspectedElement, path17);
57692
57757
  }
57693
57758
  return;
57694
57759
  }
@@ -57705,14 +57770,14 @@ The error thrown in the component is:
57705
57770
  }
57706
57771
  return element.type;
57707
57772
  }
57708
- function deletePath(type, id, hookID, path18) {
57773
+ function deletePath(type, id, hookID, path17) {
57709
57774
  var internalInstance = idToInternalInstanceMap.get(id);
57710
57775
  if (internalInstance != null) {
57711
57776
  var publicInstance = internalInstance._instance;
57712
57777
  if (publicInstance != null) {
57713
57778
  switch (type) {
57714
57779
  case "context":
57715
- deletePathInObject(publicInstance.context, path18);
57780
+ deletePathInObject(publicInstance.context, path17);
57716
57781
  forceUpdate(publicInstance);
57717
57782
  break;
57718
57783
  case "hooks":
@@ -57720,12 +57785,12 @@ The error thrown in the component is:
57720
57785
  case "props":
57721
57786
  var element = internalInstance._currentElement;
57722
57787
  internalInstance._currentElement = legacy_renderer_objectSpread(legacy_renderer_objectSpread({}, element), {}, {
57723
- props: copyWithDelete(element.props, path18)
57788
+ props: copyWithDelete(element.props, path17)
57724
57789
  });
57725
57790
  forceUpdate(publicInstance);
57726
57791
  break;
57727
57792
  case "state":
57728
- deletePathInObject(publicInstance.state, path18);
57793
+ deletePathInObject(publicInstance.state, path17);
57729
57794
  forceUpdate(publicInstance);
57730
57795
  break;
57731
57796
  }
@@ -57759,14 +57824,14 @@ The error thrown in the component is:
57759
57824
  }
57760
57825
  }
57761
57826
  }
57762
- function overrideValueAtPath(type, id, hookID, path18, value) {
57827
+ function overrideValueAtPath(type, id, hookID, path17, value) {
57763
57828
  var internalInstance = idToInternalInstanceMap.get(id);
57764
57829
  if (internalInstance != null) {
57765
57830
  var publicInstance = internalInstance._instance;
57766
57831
  if (publicInstance != null) {
57767
57832
  switch (type) {
57768
57833
  case "context":
57769
- utils_setInObject(publicInstance.context, path18, value);
57834
+ utils_setInObject(publicInstance.context, path17, value);
57770
57835
  forceUpdate(publicInstance);
57771
57836
  break;
57772
57837
  case "hooks":
@@ -57774,12 +57839,12 @@ The error thrown in the component is:
57774
57839
  case "props":
57775
57840
  var element = internalInstance._currentElement;
57776
57841
  internalInstance._currentElement = legacy_renderer_objectSpread(legacy_renderer_objectSpread({}, element), {}, {
57777
- props: copyWithSet(element.props, path18, value)
57842
+ props: copyWithSet(element.props, path17, value)
57778
57843
  });
57779
57844
  forceUpdate(publicInstance);
57780
57845
  break;
57781
57846
  case "state":
57782
- utils_setInObject(publicInstance.state, path18, value);
57847
+ utils_setInObject(publicInstance.state, path17, value);
57783
57848
  forceUpdate(publicInstance);
57784
57849
  break;
57785
57850
  }
@@ -57820,7 +57885,7 @@ The error thrown in the component is:
57820
57885
  return [];
57821
57886
  }
57822
57887
  function setTraceUpdatesEnabled(enabled) {}
57823
- function setTrackedPath(path18) {}
57888
+ function setTrackedPath(path17) {}
57824
57889
  function getOwnersList(id) {
57825
57890
  return null;
57826
57891
  }
@@ -61467,6 +61532,7 @@ function detectTestPatterns(workdir, dependencies, devDependencies) {
61467
61532
  init_schema();
61468
61533
  init_logger2();
61469
61534
  init_routing();
61535
+ init_version();
61470
61536
 
61471
61537
  // src/cli/analyze-parser.ts
61472
61538
  init_registry();
@@ -61717,11 +61783,7 @@ async function analyzeFeature(options) {
61717
61783
  if (config2 && userStories.length > config2.execution.maxStoriesPerFeature) {
61718
61784
  logger.warn("cli", `Feature has ${userStories.length} stories, exceeding recommended limit of ${config2.execution.maxStoriesPerFeature}. Consider splitting.`);
61719
61785
  }
61720
- let naxVersion = "unknown";
61721
- try {
61722
- const pkgPath = new URL("../../package.json", import.meta.url);
61723
- naxVersion = (await Bun.file(pkgPath).json()).version;
61724
- } catch {}
61786
+ const naxVersion = NAX_VERSION;
61725
61787
  const now = new Date().toISOString();
61726
61788
  const prd = {
61727
61789
  project: "nax",
@@ -69563,8 +69625,8 @@ function Text({ color, backgroundColor, dimColor = false, bold = false, italic =
69563
69625
  }
69564
69626
 
69565
69627
  // node_modules/ink/build/components/ErrorOverview.js
69566
- var cleanupPath = (path18) => {
69567
- return path18?.replace(`file://${cwd()}/`, "");
69628
+ var cleanupPath = (path17) => {
69629
+ return path17?.replace(`file://${cwd()}/`, "");
69568
69630
  };
69569
69631
  var stackUtils = new import_stack_utils.default({
69570
69632
  cwd: cwd(),
@@ -72074,9 +72136,9 @@ function renderTui(props) {
72074
72136
  }
72075
72137
 
72076
72138
  // bin/nax.ts
72077
- var pkg = await Bun.file(join36(import.meta.dir, "..", "package.json")).json();
72139
+ init_version();
72078
72140
  var program2 = new Command;
72079
- program2.name("nax").description("AI Coding Agent Orchestrator \u2014 loops until done").version(pkg.version);
72141
+ program2.name("nax").description("AI Coding Agent Orchestrator \u2014 loops until done").version(NAX_VERSION);
72080
72142
  program2.command("init").description("Initialize nax in the current project").option("-d, --dir <path>", "Project directory", process.cwd()).option("-f, --force", "Force overwrite existing files", false).action(async (options) => {
72081
72143
  let workdir;
72082
72144
  try {