From 4b2975955f0a9d345489813388807cb8f6cf6016 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Fri, 17 Jul 2026 05:13:45 +0100 Subject: [PATCH] Define provider action bar suggestions --- docs/input-capabilities.md | 5 +++++ packages/eve-contracts/dist/generated/input-capability.d.ts | 1 + packages/eve-contracts/dist/generated/schemas.d.ts | 3 +++ packages/eve-contracts/dist/generated/schemas.js | 3 +++ packages/eve-contracts/src/generated/input-capability.ts | 1 + packages/eve-contracts/src/generated/schemas.ts | 3 +++ packages/eve-contracts/test/contracts.test.mjs | 1 + schemas/gamecult.eve.input_capability.v1.schema.json | 1 + 8 files changed, 18 insertions(+) diff --git a/docs/input-capabilities.md b/docs/input-capabilities.md index 6d04671..379a0f4 100644 --- a/docs/input-capabilities.md +++ b/docs/input-capabilities.md @@ -9,6 +9,11 @@ keyboard chords, axes, and ordered gamepad D-pad sequences are gesture kinds, not separate execution systems. The action bar is a compact editor over the same binding document; its controls are chosen by the player. +An action may set `actionBar` to suggest that generic clients expose it in the +initial action palette. This is not a binding or a gameplay decision. Client +profiles and user overrides still own physical controls, slot order, and +whether the suggested action remains visible. + Actions may be derived from live state such as equipped modules, weapon groups, cargo consumables, role, docking state, or mode. A binding whose action is not currently available remains dormant so it can recover when that semantic action diff --git a/packages/eve-contracts/dist/generated/input-capability.d.ts b/packages/eve-contracts/dist/generated/input-capability.d.ts index d289122..8d535cf 100644 --- a/packages/eve-contracts/dist/generated/input-capability.d.ts +++ b/packages/eve-contracts/dist/generated/input-capability.d.ts @@ -26,6 +26,7 @@ export interface EveInputCapability { context?: string; category?: string; iconRef?: string; + actionBar?: boolean; availability: ("available" | "dormant" | "unavailable"); sourceRef?: string; payload?: { diff --git a/packages/eve-contracts/dist/generated/schemas.d.ts b/packages/eve-contracts/dist/generated/schemas.d.ts index accaeef..157cb96 100644 --- a/packages/eve-contracts/dist/generated/schemas.d.ts +++ b/packages/eve-contracts/dist/generated/schemas.d.ts @@ -674,6 +674,9 @@ export declare const eveContractSchemas: { readonly iconRef: { readonly type: "string"; }; + readonly actionBar: { + readonly type: "boolean"; + }; readonly availability: { readonly enum: readonly ["available", "dormant", "unavailable"]; }; diff --git a/packages/eve-contracts/dist/generated/schemas.js b/packages/eve-contracts/dist/generated/schemas.js index 34e3784..50baf5d 100644 --- a/packages/eve-contracts/dist/generated/schemas.js +++ b/packages/eve-contracts/dist/generated/schemas.js @@ -809,6 +809,9 @@ export const eveContractSchemas = { "iconRef": { "type": "string" }, + "actionBar": { + "type": "boolean" + }, "availability": { "enum": [ "available", diff --git a/packages/eve-contracts/src/generated/input-capability.ts b/packages/eve-contracts/src/generated/input-capability.ts index a056397..1caa0f6 100644 --- a/packages/eve-contracts/src/generated/input-capability.ts +++ b/packages/eve-contracts/src/generated/input-capability.ts @@ -29,6 +29,7 @@ operation: string context?: string category?: string iconRef?: string +actionBar?: boolean availability: ("available" | "dormant" | "unavailable") sourceRef?: string payload?: { diff --git a/packages/eve-contracts/src/generated/schemas.ts b/packages/eve-contracts/src/generated/schemas.ts index 6ff01d1..b3696e2 100644 --- a/packages/eve-contracts/src/generated/schemas.ts +++ b/packages/eve-contracts/src/generated/schemas.ts @@ -809,6 +809,9 @@ export const eveContractSchemas = { "iconRef": { "type": "string" }, + "actionBar": { + "type": "boolean" + }, "availability": { "enum": [ "available", diff --git a/packages/eve-contracts/test/contracts.test.mjs b/packages/eve-contracts/test/contracts.test.mjs index 8f8facc..e49cc74 100644 --- a/packages/eve-contracts/test/contracts.test.mjs +++ b/packages/eve-contracts/test/contracts.test.mjs @@ -112,6 +112,7 @@ test("validates scalar and view-direction input value models", () => { label: "Target Temperature", operation: "equipment.set-temperature", availability: "available", + actionBar: true, inputValue: { model: "scalar.v1", payloadKey: "scalarValue", diff --git a/schemas/gamecult.eve.input_capability.v1.schema.json b/schemas/gamecult.eve.input_capability.v1.schema.json index d0135c1..68a025e 100644 --- a/schemas/gamecult.eve.input_capability.v1.schema.json +++ b/schemas/gamecult.eve.input_capability.v1.schema.json @@ -21,6 +21,7 @@ "context": { "type": "string" }, "category": { "type": "string" }, "iconRef": { "type": "string" }, + "actionBar": { "type": "boolean" }, "availability": { "enum": ["available", "dormant", "unavailable"] }, "sourceRef": { "type": "string" }, "payload": { "type": "object", "additionalProperties": { "type": "string" } },