Skip to content

Build(deps-dev): Bump @types/node from 22.14.0 to 24.5.0#127

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/types/node-24.5.0
Closed

Build(deps-dev): Bump @types/node from 22.14.0 to 24.5.0#127
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/types/node-24.5.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Sep 15, 2025

Bumps @types/node from 22.14.0 to 24.5.0.

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.14.0 to 24.5.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.5.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 15, 2025
@dependabot dependabot Bot requested a review from joelteply September 15, 2025 21:22
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Sep 22, 2025

Superseded by #129.

@dependabot dependabot Bot closed this Sep 22, 2025
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/types/node-24.5.0 branch September 22, 2025 21:39
joelteply added a commit that referenced this pull request Jun 2, 2026
…Registry (#123 slice 1)

## Why

Joel directive (2026-06-01): substrate MUST work headless; TS-decorator
pipeline isn't reachable in headless mode; substrate-only entities
(hw_tiers, role_templates, identity pools, universes, future continuum
config) MUST be authored Rust-first. Single source of truth lives in
Rust; ts-rs projects the matching TS types.

References:
- [[orm-everything-not-hand-edited-files]] — ORM is the universal data
  interface; repo source = JSON, runtime backend = ORM's choice,
  commands = mutation path
- [[authored-data-vs-procedural-projection]] — substrate-data entities
  are the authored half; IdentityProjector (#124) is the procedural half

## What ships (slice 1: infrastructure only, no behavioral migration)

### src/orm/entity.rs (new, ~370 lines)

- BaseEntity struct + ts-rs export — the canonical wire-type base
  (id, createdAt, updatedAt, version). Single source of truth in Rust;
  ts-rs emits shared/generated/orm/BaseEntity.ts. The hand-authored
  TS BaseEntity.ts can be migrated to the generated version in a
  follow-up.
- BaseEntity::for_new_record() — UUID v4 + now() + version=1
- base_entity_fields() — the STORAGE half of the base contract:
  SchemaField vec the ORM adapter declares to SQL. Kept in lockstep
  with the BaseEntity wire type via cross-test.
- OrmEntity trait — COLLECTION const + collection_schema()
- OrmEntityRegistry — process-wide write-once-at-boot registry;
  register<E>() is idempotent on identical schemas, errors on
  conflicts (different shape, same collection name)
- Tests use fresh OrmEntityRegistry::new() instances — global
  singleton would race under parallel cargo test runs

### src/modules/data.rs (updated handle_ensure_schema)

Resolution order:
1. Rust-native OrmEntityRegistry (substrate entities)
2. entity_schemas.json from TS decorators (user-app entities)
3. Error with diagnostic pointing at both authoring paths

Headless deployments rely on path 1 alone; the TS-decorator path
stays for user-facing entity work.

### src/persona/hw_tier_descriptor.rs (new, ~290 lines)

- HwTierDescriptor — the editable, shareable ORM-stored description
  of one hardware tier. Distinct from HwCapabilityTier (the enum
  discriminant for runtime use).
- HwTierCategory — Floor / Base / Pro per Joel's 2026-06-01 3-plan
  framing (Intel/low-end is Floor with video via grid-inference;
  MacBook M-series is Base, the design center; M-series Pro/Max +
  future unified-memory PCs are Pro)
- local_video_capable flag — universal-avatar doctrine applied:
  rendering medium scales with hardware + grid-inference availability;
  the avatar property itself is universal
- Tests verify BaseEntity contract + tier_id-vs-id distinction +
  serde camelCase + registration roundtrip

### src/persona/role_template.rs (existing struct, new OrmEntity impl)

- OrmEntity impl for the existing RoleTemplate struct
- Storage: BaseEntity columns + role (natural key, unique+indexed)
  + priority (indexed) + identity/cognition/modelPerTier (JSON columns
  for nested structs)
- No changes to the existing helper_template()/coder_template() — that
  migration is slice 2 (seed JSON + retire hardcoded constants)

### src/persona/mod.rs (register_substrate_orm_entities helper)

- Takes a &OrmEntityRegistry parameter so production calls
  register_substrate_orm_entities(OrmEntityRegistry::global()) and
  tests call with fresh new() instances
- Cross-collection test verifies BaseEntity fields land in every
  registered substrate collection — catches future entities that
  forget to call base_entity_fields()

## Tests (632 passing across the lib)

- 10 OrmEntityRegistry tests (register/resolve/idempotent/conflict/
  order-independent/wire-vs-storage match/for_new_record sanity)
- 7 HwTierDescriptor tests (schema count/BaseEntity present/tier_id
  unique-and-distinct-from-pk/category indexed/registration roundtrip/
  serde camelCase/HwTierCategory lowercase)
- 2 register_substrate_orm_entities tests (boot-order proof +
  idempotence + cross-collection BaseEntity check)
- All 8 generator concurrency tests still green (regression)
- 632 lib tests overall pass — no broader breakage

## What is NOT in this commit (slice 2 and beyond)

- Seed JSON files under seeds/<collection>/*.json (#123 slice 2)
- Retirement of helper_template()/coder_template() in favor of ORM
  queries (#123 slice 2)
- Identity card pools, universe entities (#127 — Tron universe pack)
- IdentityProjector procedural pick layer (#124)
- First-connection ceremony (#126)
- BaseEntity flatten into entity structs (matches TS class-extension
  convention) — held back to avoid churning helper_template/
  coder_template constructors before slice 2's seed-JSON migration

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
joelteply added a commit that referenced this pull request Jun 2, 2026
## Why

Slice 1 (de1ba9a) shipped the Rust-native entity authoring path
(BaseEntity, OrmEntityRegistry, OrmEntity trait, HwTierDescriptor +
RoleTemplate schemas). Slice 2 ships the data half: the canonical
day-zero hw_tiers JSON, embedded via include_str! so the substrate
always ships data + code together (per [[orm-everything-not-hand-
edited-files]] "all ship together" doctrine).

Headless-clean: include_str! bakes seeds into the binary; no runtime
path discovery, no missing-file failure modes, works wherever Rust
runs. Filesystem-override for live editing is a future slice.

## What ships

### seeds/hw_tiers/*.json (new, 9 files)

camelCase JSON conforming to HwTierDescriptor's serde shape. Spans
all three categories per Joel's 2026-06-01 3-plan framing:

- **Floor** (Intel + low-end; video via grid-inference):
  cpu_only, mac_intel_metal_discrete
- **Base** (MacBook M-series; design center; local-leaning):
  m1_uma_8gb, m1_uma_16gb
- **Pro** (M-series Pro/Max + future + cloud-as-peer):
  m3_uma_pro_max, m5_uma_pro_max, sm60, sm120, cloud

Each carries: tierId, label, category, localVideoCapable,
minParamsBMeaningful, maxParamsBFits, optional unifiedMemoryGib /
discreteVramGib / note. localVideoCapable=false on Floor + cloud is
a coarse proxy for "can host the persona's inference locally for
real-time avatar" — WebRTC + animation are always local; routing
inference to a grid/cloud peer still produces a video persona per
[[persona-webrtc-all-tiers-latency-obsessed]].

### src/persona/hw_tier_descriptor.rs

- Per-tier `SEED_*` consts via include_str!
- `SEED_FILES` table: (tier_id, raw_json) pairs for diagnostic clarity
- `parse_seed_descriptors() -> Result<Vec<HwTierDescriptor>, String>`
  — parses every embedded seed at runtime, returns the first error
  named by its expected tier_id. Boot-time entry point for the
  ingest-if-empty step that lands in a follow-up slice.

## Tests (4 new, all green; 23 total in the module)

- `all_seed_files_parse_into_descriptors` — every embedded JSON
  deserializes against HwTierDescriptor; tier_ids are unique within
  the seed set. This IS the #125 CI guard for hw_tiers: if the Rust
  struct grows a required field or renames one, this fails the build.
- `seeds_cover_all_three_categories` — Floor + Base + Pro all
  represented. Deleting the only Floor seed (or any category) fails.
- `anchor_tiers_are_present` — load-bearing tier_ids (cpu_only,
  m1_uma_8gb, m3_uma_pro_max, sm120, cloud) must ship; silent
  removal would break downstream routing.
- `seed_file_names_match_tier_ids` — file name and JSON tier_id
  field must match; catches copy-paste errors at build time.

Plus the 8 generator concurrency tests still green (regression).

## What's NOT here

- Ingest-into-ORM step — needs an adapter handle; lands in the
  PersonaSpawnerModule slice (#121) or a dedicated seed-runner.
- role_templates seed JSON — the nested-tuple shape of
  ModelChoicePerTier benefits from normalization to a more JSON-
  natural form (object map instead of Vec<(tier, choice)>) before
  hand-authoring. Coming in a follow-up.
- Filesystem override of embedded seeds for live editing — future
  slice; ship-time embedded seeds are the floor.
- Identity card pools, universes, continuum_config — #127 and
  beyond.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants