Commit Graph

73 Commits

Author SHA1 Message Date
grayhook e56f81d25c Phase 6: add resolveDeliveryMode — defer vs immediate from integration table.
Wraps effectiveIntegration with RuntimeFlags.autoCompactDetected so reinject wiring reads delivery mode from one place.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:46:19 +07:00
grayhook 776345a238 Phase 6: add detectPiAutoCompact — detect pi-auto-compact via getCommands.
Uses the public ExtensionAPI command list and caches the result in RuntimeFlags for session_start wiring.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:45:22 +07:00
grayhook a0e6d204a6 Phase 5: add filterSkillsNeedingReinject — kept-window dedup input for pendingReinject.
Returns tracked registered skills absent from kept user messages per SPEC §5.2 and §6.4.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:20:11 +07:00
grayhook 9896e7efa6 Phase 5: add skillsPresentInKeptWindow — detect skill blocks in kept user messages.
Scans kept entries for expanded skill blocks so re-inject skips duplicates per SPEC §6.4.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:19:05 +07:00
grayhook 6ccb580ca1 Phase 5: add getKeptEntries — branch slice from firstKeptEntryId.
Implements kept-window boundary per SPEC §6.4 for dedup before re-inject.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:17:30 +07:00
grayhook 9d32cdffb1 Phase 4: add expandSkill — skill meta to injectable user text.
Compose readBody, formatBlock, and appendSuffix for reinject and /skill-reinject now (SPEC §5.3).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:31:45 +07:00
grayhook 049a11a7d5 Phase 4: add appendSuffix — optional reinject message suffix.
Configurable trailing note after skill block per settings.suffix (SPEC §5.3).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:31:37 +07:00
grayhook 68b7d018cc Phase 4: add formatBlock — XML skill block matching Pi expand.
Mirror _expandSkillCommand output shape with name, location, and baseDir hint (SPEC §5.3).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:31:21 +07:00
grayhook 584a8fa342 Phase 4: add readSkillBody — SKILL.md read with frontmatter strip.
Mirror agent-session _expandSkillCommand body extraction via public stripFrontmatter API (SPEC §5.3, §10).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:30:58 +07:00
grayhook cc5ffc47bf Phase 3: add trackReadPaths gate — skip read-path detection when disabled.
Honor skillReinject.trackReadPaths before matching read tool paths to skills.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:24:49 +07:00
grayhook 9cd60a2534 Phase 3: add matchReadPathToSkill — read tool path to skill mapping.
Match read paths against registered SKILL.md filePath for the read tracking source.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:23:51 +07:00
grayhook ccb39c413d Phase 3: add parseSkillBlocksFromText — skill-block scan per SPEC §6.2.
Mirror agent-session parseSkillBlock regex for detecting expanded skill blocks in user messages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:21:00 +07:00
grayhook 2d7392f5ed Phase 3: add detectSlashSkill — slash command detection per SPEC §6.2.
Detect /skill:name at the start of raw user input for the slash tracking source.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:18:04 +07:00
grayhook 00ffdff578 Phase 2: add effective helpers — enabled and delivery mode resolution.
Implements SPEC §5.1 session/global layering and §6.5.3 integration
table for defer vs immediate delivery decisions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:12:21 +07:00
grayhook 9b0264f687 Phase 2: add writeGlobalSettings — merge into global settings.json.
Preserves unrelated keys in ~/.pi/agent/settings.json when persisting
/skill-reinject global on|off and other skillReinject fields.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:12:04 +07:00
grayhook d8abd46f90 Phase 2: add settings read — merge global and project via SettingsManager.
Parses skillReinject from Pi settings layers with defaults and project-trust
aware loading so extension code shares one merged settings view.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:11:43 +07:00
grayhook 04dcab5b42 Phase 2: add settings types — SPEC §7.3 contract and defaults.
Defines SkillReinjectSettings and default values so read/merge/effective
helpers share one source of truth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:08:04 +07:00
grayhook a671a6dc35 Phase 1: add trackSkill — dedupe tracked skills by name.
Upsert merges sources without reordering the skills list per SPEC §6.1
dedupe and insertion-order rules.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:04:55 +07:00
grayhook edcf5352c4 Phase 1: add loadStateFromBranch — restore last state entry.
Walk branch backwards for skill-reinject:state custom entries per SPEC §6.3;
return structuredClone of valid v1 snapshot or null for full rescan.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:04:11 +07:00
grayhook db04a1dd01 Phase 1: add saveState — persist ExtensionState via appendEntry.
STATE_ENTRY_TYPE skill-reinject:state matches SPEC §6.1 so state survives
/resume and branch reload without a full rescan.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:02:42 +07:00
grayhook 195ed026ff Phase 1: add state factories — predictable session bootstrap.
createInitialState and createRuntimeFlags return SPEC §6.1 defaults
before load, detect, and settings merge on session_start.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:00:46 +07:00
grayhook 57d96e8b46 Phase 1: add state.ts types — shared SPEC §6.1 contract.
TrackedSkill, ExtensionState (version 1), and RuntimeFlags with union
aliases for skill sources, compaction source, and auto-compact integration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 09:59:51 +07:00
grayhook 2ddb9431b5 Phase 0: add src/index.ts shell — minimal ExtensionAPI entry for pi -e smoke.
Register empty session_start handler; real tracking and reinject logic follow in later phases.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 09:56:20 +07:00