Skip to content

Build(deps-dev): Bump @typescript-eslint/parser from 8.29.1 to 8.39.0#100

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/typescript-eslint/parser-8.39.0
Closed

Build(deps-dev): Bump @typescript-eslint/parser from 8.29.1 to 8.39.0#100
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/typescript-eslint/parser-8.39.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Aug 5, 2025

Bumps @typescript-eslint/parser from 8.29.1 to 8.39.0.

Release notes

Sourced from @​typescript-eslint/parser's releases.

v8.39.0

8.39.0 (2025-08-04)

🚀 Features

  • update to TypeScript 5.9.2 (#11445)
  • eslint-plugin: [naming-convention] add enumMember PascalCase default option (#11127)
  • eslint-plugin: add no-unnecessary-type-conversion to strict-type-checked ruleset (#11427)
  • eslint-plugin: [only-throw-error] support yield/await expressions (#11417)

🩹 Fixes

  • eslint-plugin: [prefer-optional-chain] ignore check option for most RHS of a chain (#11272)
  • eslint-plugin: [no-unsafe-assignment] add an unsafeObjectPattern message (#11403)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.38.0

8.38.0 (2025-07-21)

🚀 Features

  • typescript-estree: forbid optional chain in TemplateTaggedLiteral (#11391)

🩹 Fixes

  • disallow extra properties in rule options (#11397)
  • eslint-plugin: [consistent-generic-constructors] resolve conflict with isolatedDeclarations if enabled in constructor option (#11351)
  • typescript-eslint: infer tsconfigRootDir with v8 API (#11412)
  • typescript-eslint: error on nested extends in tseslint.config() (#11361)
  • typescript-estree: ensure the token type of the property name is Identifier (#11329)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

... (truncated)

Changelog

Sourced from @​typescript-eslint/parser's changelog.

8.39.0 (2025-08-04)

🚀 Features

  • update to TypeScript 5.9.2 (#11445)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

8.38.0 (2025-07-21)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

8.37.0 (2025-07-14)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

8.36.0 (2025-07-07)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

8.35.1 (2025-06-30)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

8.35.0 (2025-06-23)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

8.34.1 (2025-06-16)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

8.34.0 (2025-06-09)

... (truncated)

Commits
  • c98d513 chore(release): publish 8.39.0
  • 2112d58 feat: update to TypeScript 5.9.2 (#11445)
  • d11e79e chore(release): publish 8.38.0
  • 816be17 chore(release): publish 8.37.0
  • 84b7a2e chore(release): publish 8.36.0
  • e2ecca6 chore: fix issues introduced by updated nx configuration (#11230)
  • f9bd7d8 chore(release): publish 8.35.1
  • d19c9f3 chore(release): publish 8.35.0
  • ccd0791 chore(release): publish 8.34.1
  • 8915a47 chore(release): publish 8.34.0
  • Additional commits viewable in compare view

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 [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.29.1 to 8.39.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.39.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.39.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Aug 5, 2025

The reviewers field in the dependabot.yml file will be removed soon. Please use the code owners file to specify reviewers for Dependabot PRs. For more information, see this blog post.

@dependabot dependabot Bot requested a review from joelteply August 5, 2025 03:56
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 5, 2025
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Aug 12, 2025

Superseded by #103.

@dependabot dependabot Bot closed this Aug 12, 2025
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/typescript-eslint/parser-8.39.0 branch August 12, 2025 06:22
joelteply added a commit that referenced this pull request Jun 2, 2026
…G introspection (task #100, slice A)

Lifts the airc_rag_demo binary's per-item dump into a callable
library function with a structured result type (`RagInspection`,
`SourceDeliveryInspection`, `InspectedItem`). The function is pure
async Rust — no Node.js, no TS, no IPC overhead — so the eventual
ServiceModule wrapper and any other in-process caller (a sentinel
persona, an adversarial reviewer, a CI mechanic) gets the same data
the binary surfaces today.

This is the first realization of the
[[observability-is-half-the-architecture]] doctrine at the library
layer: the introspection is no longer trapped in a binary's
stdout — it's a first-class data shape that flows the same way as
any other RAG primitive.

Tests (9, all green):
- Empty-transcript delivery is empty (no panic)
- Allocation reports Satisfied when context_window can fit floor+max
- Items carry score / age_s / peer_id_prefix / lamport / metadata
- Long content truncated in preview, tokens stay accurate (no clipping)
- Continuation flag set when budget overflows
- Reader failure returns empty delivery, not panic (good citizen)
- trace_path=Some(p) writes JSONL with the 4 expected event kinds
- trace_path=None uses NoopRagCaptureSink (zero overhead)
- Cross-persona scope check still active through library path

Demo binary refactor: identical output against Paige (real persona)
and rag-demo (synthetic), confirming the library composes from
outside. ~200 LOC of demo logic became ~70 LOC of library calls.

Next slice: ServiceModule wrapper + ts-rs binding so
`Commands.execute('persona/rag-inspect', { persona })` becomes
callable from any other AI's command surface.
joelteply added a commit that referenced this pull request Jun 2, 2026
…essions (task #107, slice A)

The library layer of the inference handle pattern. Open a session
against any AIProviderAdapter, get back a HandleRef, thread it
through many generate() calls, close when done. Adapter-agnostic:
works uniformly for HeuristicInferenceAdapter, AnthropicAdapter,
OpenAICompatibleAdapter, future LlamaCppAdapter, future
AircRemoteInferenceAdapter.

Joel (2026-05-31): "Maybe you get a handle first then inference?
Establish once? Keep loaded or it pages itself intelligently but
still a handle. That way you've got a remote handle or a cloud
handle. Etc. typically you call these things repeatedly in."

Realizes [[inference-is-an-adapter-always-in-the-loop]] §"Inference
handles": one canonical session shape across local / cloud /
heuristic / remote — the substrate's answer to "model load is
expensive, inference is cheap." Production paths (persona service
cycle, RAG cycle, sentinel review) hold long-lived handles.

### Library shape

- `OpenSessionRequest` — system_prompt, model override, LoRA
  active_adapters, persona_id scope
- `InferenceSession` — adapter + session state + atomics for
  last_used_ms / generation_count (lock-free updates from generate
  through &session)
- `InferenceHandleStore` — DashMap<Uuid, Arc<InferenceSession>>;
  multi-threaded generate calls don't serialize on the map
- `SessionInspection` — read-only snapshot for
  [[observability-is-half-the-architecture]]: provider, model,
  persona, warm-state telemetry
- `HandleStoreError` — typed errors (OwnerMismatch /
  TypeTagMismatch / HandleNotFound / PersonaScopeMismatch);
  consumers branch on the variant, no string parsing

### Doctrine touchpoints

- HandleRef owner = "ai/inference", type_tag = "ai::InferenceSession"
  — matches the canonical example in cell_shapes.rs line 152
- Validates owner + type_tag before state-map lookup
  (HandleRef::expect_owned_by shape, per
  [[cell-processor-command-runtime]])
- Persona scope: session opened for persona A rejects generate
  requests with persona_id B (same defense-in-depth shape as
  AircRagSource's cross-persona ctx check)
- Per-call request fields override session defaults — caller can
  vary sampling per turn while session-level system_prompt / LoRA
  / model stay sticky
- Updates last_used_ms + generation_count BEFORE adapter call so
  observers see in-flight sessions even when generation fails

### Tests (16, all green)

- open returns HandleRef with canonical owner + type_tag
- multiple opens get distinct UUIDs
- generate via valid handle routes to adapter
- generate with mismatched owner / type_tag / unknown UUID → typed
  errors (no swallowing)
- close releases; subsequent generate fails; double-close returns
  false the second time
- generate updates last_used_ms + increments generation_count
- session system_prompt applies when request omits it
- per-request system_prompt overrides session default
- persona-scoped session rejects mismatched persona request
- persona-scoped session accepts matching persona request
- unscoped session accepts any persona request
- inspect reports provider / model / has_system_prompt / warm state
- 16 concurrent open+generate+close tasks complete without
  deadlock or lost handles (DashMap concurrency guard)

### What's next (slice B)

ServiceModule wrapper exposing `ai/inference/open`,
`ai/inference/generate`, `ai/inference/close` as kernel commands.
Tasks #100 (rag-inspect ServiceModule) and #104 (rag_inspect chains
through inference) both become single-handle long-lived loops once
that lands.
joelteply added a commit that referenced this pull request Jun 2, 2026
…able by other AIs (task #100)

Wraps the existing `persona::rag_inspect` library function as a
kernel-level command. Any AI (Claude, sentinel persona, another
peer, mechanic shop) can now call
`Commands.execute('persona/rag-inspect', { persona })` and get
back a structured snapshot of what that persona's RAG layer would
deliver right now — the three canonical introspection questions
([[observability-is-half-the-architecture]]) answered in one call:

1. "Would I respond as it requests at this step?" — full prompt
   reconstructable from `deliveries`.
2. "Which layer is broken?" — per-source `allocations` show
   Satisfied / FloorOnly / Dropped / UnderProvisioned state.
3. "Is this contextually relevant?" — each `item` carries score,
   age_s, peer_id_prefix, lamport, content_preview.

### Architecture

- `PersonaResolver` trait — abstracts "given a persona name, give
  me persona_id + AircTranscriptReader." Production wiring (later
  commit) implements against `~/.continuum/personas/<name>/seed.json`
  + `airc_lib::Airc::attach_as`. Tests use a stub that returns
  canned events without needing a live airc daemon.
- `PersonaRagInspectModule` — ServiceModule. Holds
  `Arc<dyn PersonaResolver>`. Routes the `persona/rag-inspect`
  command into the library function with parameter overrides
  (context_window, airc_floor/max/fetch_limit, trace_path,
  now_ms).
- Wire types (`RagInspectParams`, `RagInspectAllocation`,
  `RagInspectItem`, `RagInspectDelivery`, `RagInspectResult`)
  ts-rs-derived + auto-exported to
  `shared/generated/persona/Rag*.ts`. The library's
  `BudgetAllocation` (which doesn't have ts-rs derives) gets
  flattened/projected into wire types at the module layer so
  the inference doctrine layering stays clean.

### Optional knobs flow through

Caller can vary the inspection profile per call:
- `contextWindow` — model context size (default 32K from library).
- `aircFloor` / `aircMax` — source budget overrides.
- `aircFetchLimit` — how many airc events to consider (default 100).
- `tracePath` — JSONL capture trace for replay (other AIs
  resume against this).
- `nowMs` — wall-clock override for deterministic replay.

### Doctrine alignment

- [[commands-are-kernel-level-and-compose]] — pure command-envelope
  routing. The module has no introspection logic of its own; it's
  the kernel surface for the library function.
- [[observability-is-half-the-architecture]] — this commit
  realizes the doctrine: introspection becomes a substrate
  primitive that any AI can call, not just a file on disk that
  someone has to `cat | jq`.
- [[inference-is-an-adapter-always-in-the-loop]] — the resolver
  trait is the "adapter" for persona resolution; production wiring
  plugs in the real airc-attach path the same way coordinator wiring
  plugs in adapters elsewhere.

### Tests (13, all green)

Module behavior (8):
- config_reports_canonical_name_and_prefix
- empty_persona_name_returns_typed_error
- unknown_persona_surfaces_resolver_error
  (resolver errors propagate cleanly to callers)
- known_persona_with_empty_room_returns_zero_items_but_satisfied_allocation
  — Paige has no airc events; deliveries empty; allocation still
  reports Satisfied because the airc source's full max fits
  available_for_sources.
- known_persona_with_events_returns_items_with_full_rationale —
  two events; first item has content_preview="hello world",
  score=1.0, age_s=100, peer_id_prefix.len()=8.
- context_window_override_threads_through (8192 instead of 32K
  default).
- handle_command_routes_canonical_command_to_inspect — full
  CommandRequest envelope round-trips through.
- handle_command_unknown_returns_loud_error — typed routing error.

ts-rs binding exports (5):
- RagInspectAllocation, RagInspectDelivery, RagInspectItem,
  RagInspectParams, RagInspectResult — all auto-generated to
  `shared/generated/persona/`.

### What this unblocks

- #104: rag_inspect chains through the inference command. With the
  module shipped, an AI can sequence
  `persona/rag-inspect` → `ai/inference/open` →
  `ai/inference/generate` to get the full
  "what would the persona see + what would they say" loop in
  two command calls.
- Sentinel personas doing adversarial review of other personas'
  turn quality.
- Mechanic-shop tools running prompt audits without needing
  file-system access.

### Production wiring deferred

The `PersonaResolver` impl that reads
`~/.continuum/personas/<name>/seed.json` + attaches via
`airc_lib::Airc::attach_as` is its own focused commit. The module
is ready to wire into the runtime registry the moment that resolver
lands.
joelteply added a commit that referenced this pull request Jun 2, 2026
…a/rag-inspect (task #116, slice A)

Production wiring for the PersonaResolver trait shipped with
task #100. Reads the canonical persona-on-disk layout:

    ~/.continuum/personas/<agent_name>/
      ├── seed.json   (persona_id + agent_name, written by
      │                PersonaPersistenceModule)
      └── airc/       (airc home — keypair + per-persona events.sqlite)

### What ships

- `FilesystemPersonaResolver::new(continuum_root, airc_socket_path)`
- `.with_default_adapter(adapter)` to wire heuristic / llama.cpp
  / cloud / remote-grid into the inference probe path
- `PersonaResolver::resolve(name)` (now async):
  1. Reads seed.json via existing `persona::seed::read_seed`
     (typed errors, async I/O)
  2. Ensures airc home dir exists (tokio::fs)
  3. Attaches to the running airc daemon via
     `airc_lib::Airc::attach_as(home, name, socket_path)`
  4. Returns PersonaResolution with persona_id + airc reader +
     optional inference adapter
- Public helpers `read_persona_seed` and `airc_home_for` so the
  CI harness (slice B, separate commit) + the airc_rag_demo
  binary can use the same path math

### Trait change: PersonaResolver::resolve is now async

Production needs async — seed file read goes through tokio::fs;
airc attach goes through tokio::net. The stub test resolver got a
trivial `async fn` update. All 18 existing PersonaRagInspectModule
tests still pass; the module pipeline already lived inside an
async command-handler so the .await is free.

### Tests (6, all green)

- read_persona_seed_round_trips_a_well_formed_seed (V1 schema:
  persona_id, agent_name, created_at_ms)
- read_persona_seed_missing_file_returns_typed_error (error
  references the path so operators know where the substrate
  looked)
- read_persona_seed_malformed_returns_typed_error
- airc_home_for_matches_canonical_layout
- seed_path_matches_canonical_layout
- with_default_adapter_threads_adapter_through_to_resolution

### What is deliberately NOT unit-tested

The full `resolve(name)` flow that calls
`airc_lib::Airc::attach_as` is integration-tested by the
`airc_rag_demo` binary (proven against operator%27s live daemon as
of 2026-05-31). Slice B of #116 wraps this resolver into a
headless CI harness once we have a way to spin up airc-in-CI.

### What unblocks now

Any consumer that has a continuum root + an airc socket path can
construct a FilesystemPersonaResolver and pass it into a
PersonaRagInspectModule. The `persona/rag-inspect` command now
has its production resolver. `continuum-core-server` wiring is
the next slice (separate commit) — construct the resolver +
register the module with the runtime registry at startup.
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants