@miadi/tide-contract 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -17,15 +17,16 @@ This package is the shared covenant between:
17
17
  - 0.2.1 corrects the herdr pane-id story from the EP137 live smoke (herdr 0.7.4): real ids are `w1:p2` (legacy `1-2` still accepted), **session-scoped and monotonic** — they do not compact or get reused when panes close, a stale id fails loudly with `pane_not_found`, and `pane rename` sets the `label` field that label→id resolution matches at action time.
18
18
  - 0.2.2 types the remaining live-verified herdr envelopes: `TideHerdrPaneInfo` (`pane list` rows), `TideHerdrWaitOutputResult` (`wait output` hit), and `TideHerdrAgentStatusEvent` (`wait agent-status` hits print an EVENT envelope, not a result envelope).
19
19
  - 0.2.3 adds the one-call inventory snapshot `TideHerdrInventory` (+ `TideHerdrWorkspaceInfo`/`TideHerdrTabInfo`) behind `getHerdrInventory()`, and widens every pane-id pattern to ALPHANUMERIC segments — live herdr allocates pane suffixes past `p9` as letters (`w2:pE` observed 2026-07-18), which the digits-only patterns rejected.
20
+ - 0.2.4 (unpublished) covenants the peek response from live EP152 cockpit receipts — the previously documented `pane?`/`lines?` fields were fiction; `TidePeekResult` is now the `TideTmuxPeekResult` (`{target, resolved, content}`) / `TideHerdrPeekResult` (`{multiplexer, pane, lines, text}`) union — and lands the deterministic schema→TS drift gate (see Drift posture).
20
21
  - Runtime identity constants are exported from `src/index.ts` and mirrored in the schema `x-tide` metadata: `tide`, `MIADI_HOME`, `~/.miadi/navigator`, and `miadi.tide.daemon.v2`.
21
22
  - Future work should generate the TypeScript types from the schema and validate IronSilk runtime payloads with Python `jsonschema`.
22
23
 
23
24
  ## Drift posture
24
25
 
25
- The intended CI shape is:
26
+ Steps 1–2 of the intended CI shape are live in `npm test` (jgwill/Miadi#378):
26
27
 
27
- 1. Generate TypeScript types from `schema/tide-api.schema.json`.
28
- 2. Compare generated output against committed types.
28
+ 1. **Done** — `scripts/generate-schema-reference.mjs` deterministically emits reference types from `schema/tide-api.schema.json` into `test/schema-reference.generated.ts` (committed; regenerate with `npm run generate:reference`).
29
+ 2. **Done** — `test/drift-gate.test.ts` byte-checks the committed reference (`npm run drift:check`) and compile-asserts exact assignability between every public export and its reference type. Pre-existing divergences sit in explicit waiver sections whose pins fail the build once reconciled. **Layered claims (post-W11):** the byte-check is the schema-movement tripwire — constraint-only edits (pattern/bounds) reach it via the emitted `SCHEMA_CONSTRAINTS` manifest, and unknown or co-occurring schema constructs make generation throw; the type layer proves hand-written parity at assignability granularity only (an optional field added over a loose shape's index signature is byte-layer-visible, not type-layer-visible). Review discipline: a `.generated.ts` diff *is* the schema change — read it.
29
30
  3. Validate runtime fixture JSON from IronSilk.
30
31
  4. Fail when the contract, client, routes, and runtime drift.
31
32
 
package/dist/index.d.ts CHANGED
@@ -88,11 +88,43 @@ export interface TideDetectMatch {
88
88
  source_detail: string;
89
89
  }
90
90
  export type TideDetectResult = TideDetectMatch | null;
91
- export interface TidePeekResult {
92
- pane?: string;
93
- lines?: string[];
91
+ /**
92
+ * Peek response for a tmux pane, covenanted from the live EP152 cockpit
93
+ * receipt (the previously documented `pane?`/`lines?` fields were fiction —
94
+ * live 0.9.30 returns `{target, resolved, content}`). Absent discriminator
95
+ * means tmux. Kept loose: the route owns field evolution.
96
+ */
97
+ export interface TideTmuxPeekResult {
98
+ multiplexer?: "tmux";
99
+ /** Resolved tmux pane target (e.g. "%13"). */
100
+ target: string;
101
+ /** Resolved pane identity observed live: session/window/pane/cwd/pid plus attach/switch/select commands. Shape owned by the route; not yet independently covenanted. */
102
+ resolved: Record<string, unknown>;
103
+ /** Captured scrollback text. */
104
+ content: string;
94
105
  [key: string]: unknown;
95
106
  }
107
+ /**
108
+ * Peek response for a herdr pane, covenanted from the live EP152 cockpit
109
+ * receipt. When addressed by pane label, the resolved session-scoped id is
110
+ * surfaced in `pane`.
111
+ */
112
+ export interface TideHerdrPeekResult {
113
+ multiplexer: "herdr";
114
+ /** Resolved herdr pane id (e.g. "w7:p4"). */
115
+ pane: string;
116
+ /** Captured lines. */
117
+ lines: string[];
118
+ /** Captured text joined. */
119
+ text: string;
120
+ [key: string]: unknown;
121
+ }
122
+ /**
123
+ * Discriminated union on `multiplexer`; an absent discriminator means the
124
+ * tmux variant. Two live wire shapes exist for one endpoint (EP152
125
+ * cockpit-dogfood §1.4); this union covenants both without unifying them.
126
+ */
127
+ export type TidePeekResult = TideTmuxPeekResult | TideHerdrPeekResult;
96
128
  export interface TideSteerResult {
97
129
  [key: string]: unknown;
98
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miadi/tide-contract",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Schema-first Tide API contract shared by Miadi and the IronSilk tide runtime.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -25,6 +25,8 @@
25
25
  "scripts": {
26
26
  "build": "tsc",
27
27
  "type-check": "tsc --noEmit",
28
+ "generate:reference": "node scripts/generate-schema-reference.mjs --write",
29
+ "drift:check": "node scripts/generate-schema-reference.mjs --check",
28
30
  "test": "d=$(mktemp -d \"${TMPDIR:-/tmp}/miadi-tide-contract-test.XXXXXX\") && trap 'rm -rf \"$d\"' EXIT && ../../node_modules/.bin/tsc -p tsconfig.test.json --outDir \"$d\" && node --test \"$d\"/test/*.test.js"
29
31
  },
30
32
  "devDependencies": {
@@ -335,6 +335,37 @@
335
335
  ],
336
336
  "description": "Discriminated union on 'multiplexer'; an absent discriminator means the tmux variant."
337
337
  },
338
+ "tmuxPeekResult": {
339
+ "type": "object",
340
+ "additionalProperties": true,
341
+ "required": ["target", "resolved", "content"],
342
+ "description": "Peek response for a tmux pane, covenanted from the live EP152 cockpit receipt (one wire shape per multiplexer; absent discriminator means tmux). Kept loose: the route owns field evolution.",
343
+ "properties": {
344
+ "multiplexer": { "const": "tmux" },
345
+ "target": { "type": "string", "pattern": "^%?[0-9]+$", "description": "Resolved tmux pane target (e.g., '%13')." },
346
+ "resolved": { "type": "object", "additionalProperties": true, "description": "Resolved pane identity observed live: session/window/pane/cwd/pid plus attach/switch/select commands. Shape owned by the route; not yet independently covenanted." },
347
+ "content": { "type": "string", "description": "Captured scrollback text." }
348
+ }
349
+ },
350
+ "herdrPeekResult": {
351
+ "type": "object",
352
+ "additionalProperties": true,
353
+ "required": ["multiplexer", "pane", "lines", "text"],
354
+ "description": "Peek response for a herdr pane, covenanted from the live EP152 cockpit receipt. When addressed by pane label, the resolved session-scoped id is surfaced in 'pane'.",
355
+ "properties": {
356
+ "multiplexer": { "const": "herdr" },
357
+ "pane": { "type": "string", "pattern": "^([0-9]+-[0-9]+|w[0-9A-Za-z]+:p[0-9A-Za-z]+)$", "description": "Resolved herdr pane id (e.g., 'w7:p4')." },
358
+ "lines": { "type": "array", "items": { "type": "string" }, "description": "Captured lines." },
359
+ "text": { "type": "string", "description": "Captured text joined." }
360
+ }
361
+ },
362
+ "peekResult": {
363
+ "oneOf": [
364
+ { "$ref": "#/$defs/tmuxPeekResult" },
365
+ { "$ref": "#/$defs/herdrPeekResult" }
366
+ ],
367
+ "description": "Discriminated union on 'multiplexer'; an absent discriminator means the tmux variant. Two live wire shapes exist for one endpoint (EP152 cockpit-dogfood §1.4); this def covenants both without unifying them."
368
+ },
338
369
  "herdrPaneInfo": {
339
370
  "type": "object",
340
371
  "additionalProperties": true,
@@ -425,7 +456,7 @@
425
456
  "health": { "$ref": "#/$defs/healthResult" },
426
457
  "terminals": { "$ref": "#/$defs/terminalsResult" },
427
458
  "detect": { "$ref": "#/$defs/detectResult" },
428
- "peek": { "$ref": "#/$defs/looseOperatorResult" },
459
+ "peek": { "$ref": "#/$defs/peekResult" },
429
460
  "steer": { "$ref": "#/$defs/looseOperatorResult" },
430
461
  "send": { "$ref": "#/$defs/looseOperatorResult" },
431
462
  "sendKeys": { "$ref": "#/$defs/sendKeysResult" },