@plurnk/plurnk-grammar 0.2.0 → 0.2.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-grammar",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "ANTLR4 grammar for the Plurnk LLM agent protocol",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -20,6 +20,12 @@
20
20
  "pattern": "^[a-z][a-z0-9_-]*$",
21
21
  "description": "Channel name selected when an op against this scheme has no fragment. Conventionally `body`; exec schemes typically declare `stdout`."
22
22
  },
23
+ "channel_orientations": {
24
+ "type": "object",
25
+ "description": "Per-channel content-orientation hints. `head` = whole-document or front-anchored (readers care about the beginning); `tail` = append-temporal stream (readers care about the latest content). Channels not listed default to `head`. Renderers use this to pick truncation direction; the amount to render is a core/runtime concern, not a contract field.",
26
+ "propertyNames": { "pattern": "^[a-z][a-z0-9_-]*$" },
27
+ "additionalProperties": { "enum": ["head", "tail"] }
28
+ },
23
29
  "writable_by": {
24
30
  "type": "array",
25
31
  "items": { "enum": ["model", "client", "system", "plugin"] },
@@ -51,6 +51,12 @@ default_scope: ("agent" | "session")
51
51
  * Channel name selected when an op against this scheme has no fragment. Conventionally `body`; exec schemes typically declare `stdout`.
52
52
  */
53
53
  default_channel: string
54
+ /**
55
+ * Per-channel content-orientation hints. `head` = whole-document or front-anchored (readers care about the beginning); `tail` = append-temporal stream (readers care about the latest content). Channels not listed default to `head`. Renderers use this to pick truncation direction; the amount to render is a core/runtime concern, not a contract field.
56
+ */
57
+ channel_orientations?: {
58
+ [k: string]: ("head" | "tail")
59
+ }
54
60
  writable_by: ("model" | "client" | "system" | "plugin")[]
55
61
  volatile: boolean
56
62
  handler: (string | null)