@tx5dr/plugin-api 1.5.0 → 1.7.0
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 +49 -0
- package/dist/__tests__/testing-utils.test.js +47 -1
- package/dist/__tests__/testing-utils.test.js.map +1 -1
- package/dist/context.d.ts +7 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/helpers.d.ts +35 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/settings.d.ts +51 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +2 -0
- package/dist/settings.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +84 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -59,6 +59,55 @@ export default {
|
|
|
59
59
|
| `@tx5dr/plugin-api/testing` | Mock factories for unit testing: `createMockContext()`, `createMockSlotInfo()`, `createMockParsedMessage()` |
|
|
60
60
|
| `@tx5dr/plugin-api/bridge` | Ambient type declarations for the iframe Bridge SDK (`window.tx5dr`) |
|
|
61
61
|
|
|
62
|
+
## Radio Permissions
|
|
63
|
+
|
|
64
|
+
Server-side plugins can use `ctx.radio` to inspect negotiated radio capabilities and, when explicitly permitted, control radio capabilities or physical power:
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
permissions: ['radio:read', 'radio:control', 'radio:power']
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- `radio:read` enables `ctx.radio.capabilities.getSnapshot()` and `ctx.radio.power.getSupport()`.
|
|
71
|
+
- `radio:control` enables `ctx.radio.setFrequency()` and `ctx.radio.capabilities.write()`.
|
|
72
|
+
- `radio:power` enables `ctx.radio.power.set('on' | 'off' | 'standby' | 'operate')`.
|
|
73
|
+
|
|
74
|
+
These APIs are not exposed directly to iframe pages; custom UI should call a server-side page handler.
|
|
75
|
+
|
|
76
|
+
## Host Settings Permissions
|
|
77
|
+
|
|
78
|
+
Server-side plugins can use `ctx.settings` to read or update a safe whitelist of host settings when the manifest declares the matching permission. Each settings namespace uses one read/write permission:
|
|
79
|
+
|
|
80
|
+
| Namespace | Permission | Methods |
|
|
81
|
+
|-----------|------------|---------|
|
|
82
|
+
| `ctx.settings.ft8` | `settings:ft8` | `get()`, `update(patch)` |
|
|
83
|
+
| `ctx.settings.decodeWindows` | `settings:decode-windows` | `get()`, `update(settings)` |
|
|
84
|
+
| `ctx.settings.realtime` | `settings:realtime` | `get()`, `update(settings)` |
|
|
85
|
+
| `ctx.settings.frequencyPresets` | `settings:frequency-presets` | `get()`, `update(presets)`, `reset()` |
|
|
86
|
+
| `ctx.settings.station` | `settings:station` | `get()`, `update(patch)` |
|
|
87
|
+
| `ctx.settings.pskReporter` | `settings:psk-reporter` | `get()`, `update(patch)` |
|
|
88
|
+
| `ctx.settings.ntp` | `settings:ntp` | `get()`, `update({ servers })` |
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
import type { PluginDefinition } from '@tx5dr/plugin-api';
|
|
92
|
+
|
|
93
|
+
const plugin: PluginDefinition = {
|
|
94
|
+
name: 'station-policy',
|
|
95
|
+
version: '1.0.0',
|
|
96
|
+
type: 'utility',
|
|
97
|
+
permissions: ['settings:ft8', 'settings:station'],
|
|
98
|
+
hooks: {
|
|
99
|
+
async onLoad(ctx) {
|
|
100
|
+
await ctx.settings.ft8.update({ maxSameTransmissionCount: 0 });
|
|
101
|
+
await ctx.settings.station.update({ callsign: 'W1AW' });
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export default plugin;
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The whitelist intentionally excludes authentication tokens, operator CRUD, hardware radio connection settings, audio devices, rigctld, OpenWebRX, profiles, and server host/port settings. These APIs are not exposed directly to iframe pages; custom UI should call a server-side page handler with `window.tx5dr.invoke()`.
|
|
110
|
+
|
|
62
111
|
## Bridge SDK Types
|
|
63
112
|
|
|
64
113
|
Plugin iframe pages communicate with the host via the Bridge SDK (`window.tx5dr`), which is automatically injected by the host. To get IDE autocomplete for the Bridge SDK, add the type reference to your project:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { createMockKVStore, createMockLogger, createMockTimers, createMockUIBridge, createMockContext, createMockSlotInfo, createMockParsedMessage, createMockOperatorControl, createMockRadioControl, createMockLogbookAccess, createMockBandAccess, } from '../testing/index.js';
|
|
2
|
+
import { createMockKVStore, createMockLogger, createMockTimers, createMockUIBridge, createMockContext, createMockSlotInfo, createMockParsedMessage, createMockOperatorControl, createMockRadioControl, createMockLogbookAccess, createMockBandAccess, createMockHostSettingsControl, } from '../testing/index.js';
|
|
3
3
|
describe('plugin-api testing utilities', () => {
|
|
4
4
|
describe('createMockKVStore', () => {
|
|
5
5
|
it('supports get/set/delete/getAll', () => {
|
|
@@ -75,6 +75,50 @@ describe('plugin-api testing utilities', () => {
|
|
|
75
75
|
ctx.log.info('test');
|
|
76
76
|
expect(ctx.log._calls).toHaveLength(1);
|
|
77
77
|
});
|
|
78
|
+
it('includes host settings mocks', async () => {
|
|
79
|
+
const ctx = createMockContext();
|
|
80
|
+
await expect(ctx.settings.ft8.update({ maxSameTransmissionCount: 0 })).resolves.toMatchObject({
|
|
81
|
+
maxSameTransmissionCount: 0,
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
describe('createMockHostSettingsControl', () => {
|
|
86
|
+
it('supports default host settings namespaces', async () => {
|
|
87
|
+
const settings = createMockHostSettingsControl();
|
|
88
|
+
expect(await settings.ft8.get()).toMatchObject({ myCallsign: 'W1AW' });
|
|
89
|
+
await expect(settings.ntp.update({ servers: ['time.cloudflare.com'] })).resolves.toMatchObject({
|
|
90
|
+
servers: ['time.cloudflare.com'],
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
it('accepts namespace overrides', async () => {
|
|
94
|
+
const settings = createMockHostSettingsControl({
|
|
95
|
+
ft8: {
|
|
96
|
+
get: async () => ({
|
|
97
|
+
myCallsign: 'JA1ABC',
|
|
98
|
+
myGrid: 'PM95',
|
|
99
|
+
frequency: 7_074_000,
|
|
100
|
+
transmitPower: 10,
|
|
101
|
+
autoReply: true,
|
|
102
|
+
maxQSOTimeout: 4,
|
|
103
|
+
maxSameTransmissionCount: 30,
|
|
104
|
+
decodeWhileTransmitting: true,
|
|
105
|
+
spectrumWhileTransmitting: false,
|
|
106
|
+
}),
|
|
107
|
+
update: async (patch) => ({
|
|
108
|
+
myCallsign: 'JA1ABC',
|
|
109
|
+
myGrid: 'PM95',
|
|
110
|
+
frequency: 7_074_000,
|
|
111
|
+
transmitPower: 10,
|
|
112
|
+
autoReply: true,
|
|
113
|
+
maxQSOTimeout: 4,
|
|
114
|
+
maxSameTransmissionCount: patch.maxSameTransmissionCount ?? 30,
|
|
115
|
+
decodeWhileTransmitting: true,
|
|
116
|
+
spectrumWhileTransmitting: false,
|
|
117
|
+
}),
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
await expect(settings.ft8.get()).resolves.toMatchObject({ myCallsign: 'JA1ABC' });
|
|
121
|
+
});
|
|
78
122
|
});
|
|
79
123
|
describe('createMockOperatorControl', () => {
|
|
80
124
|
it('has reasonable defaults', () => {
|
|
@@ -93,6 +137,8 @@ describe('plugin-api testing utilities', () => {
|
|
|
93
137
|
const radio = createMockRadioControl();
|
|
94
138
|
expect(radio.isConnected).toBe(true);
|
|
95
139
|
expect(radio.frequency).toBe(14074000);
|
|
140
|
+
expect(radio.capabilities.getSnapshot()).toEqual({ descriptors: [], capabilities: [] });
|
|
141
|
+
expect(radio.power.getState()).toMatchObject({ state: 'awake', stage: 'idle' });
|
|
96
142
|
});
|
|
97
143
|
});
|
|
98
144
|
describe('createMockLogbookAccess', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing-utils.test.js","sourceRoot":"","sources":["../../src/__tests__/testing-utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"testing-utils.test.js","sourceRoot":"","sources":["../../src/__tests__/testing-utils.test.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { KVStore, PluginLogger, PluginTimers, OperatorControl, RadioControl, LogbookAccess, BandAccess, UIBridge, PluginFileStore } from './helpers.js';
|
|
2
2
|
import type { LogbookSyncRegistrar } from './sync.js';
|
|
3
|
+
import type { HostSettingsControl } from './settings.js';
|
|
3
4
|
/**
|
|
4
5
|
* Runtime services exposed to a plugin instance.
|
|
5
6
|
*
|
|
@@ -95,6 +96,12 @@ export interface PluginContext {
|
|
|
95
96
|
* sync provider. The host manages the provider lifecycle and UI integration.
|
|
96
97
|
*/
|
|
97
98
|
readonly logbookSync: LogbookSyncRegistrar;
|
|
99
|
+
/**
|
|
100
|
+
* Permission-gated host settings control surface.
|
|
101
|
+
*
|
|
102
|
+
* Each namespace requires the matching `settings:*` manifest permission.
|
|
103
|
+
*/
|
|
104
|
+
readonly settings: HostSettingsControl;
|
|
98
105
|
/**
|
|
99
106
|
* Permission-gated HTTP client.
|
|
100
107
|
*
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE;QACd;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAEzB;;WAEG;QACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;KAC5B,CAAC;IAEF;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAEtB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAEhC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAEvC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzE"}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ParsedFT8Message, SlotInfo, SlotPack, QSORecord, FrameMessage, OperatorSlots, ModeDescriptor, PermissionGrant, PluginPanelDescriptor } from '@tx5dr/contracts';
|
|
1
|
+
import type { ParsedFT8Message, SlotInfo, SlotPack, QSORecord, FrameMessage, OperatorSlots, ModeDescriptor, PermissionGrant, PluginPanelDescriptor, CapabilityList, CapabilityState, RadioPowerResponse, RadioPowerStateEvent, RadioPowerSupportInfo, RadioPowerTarget, WriteCapabilityPayload } from '@tx5dr/contracts';
|
|
2
2
|
import type { StrategyRuntimeSnapshot } from './runtime.js';
|
|
3
3
|
/**
|
|
4
4
|
* Simple persistent key-value store exposed to plugins.
|
|
@@ -140,6 +140,10 @@ export interface RadioControl {
|
|
|
140
140
|
readonly band: string;
|
|
141
141
|
/** Whether the radio transport is currently connected. */
|
|
142
142
|
readonly isConnected: boolean;
|
|
143
|
+
/** Negotiated radio capability controls. Requires radio plugin permissions. */
|
|
144
|
+
readonly capabilities: RadioCapabilitiesControl;
|
|
145
|
+
/** Physical radio power controls. Requires radio plugin permissions. */
|
|
146
|
+
readonly power: RadioPowerControl;
|
|
143
147
|
/**
|
|
144
148
|
* Requests a frequency change.
|
|
145
149
|
*
|
|
@@ -148,6 +152,36 @@ export interface RadioControl {
|
|
|
148
152
|
*/
|
|
149
153
|
setFrequency(freq: number): Promise<void>;
|
|
150
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Access to the host-managed radio capability negotiation system.
|
|
157
|
+
*/
|
|
158
|
+
export interface RadioCapabilitiesControl {
|
|
159
|
+
/** Returns the current capability descriptor/state snapshot. Requires `radio:read`. */
|
|
160
|
+
getSnapshot(): CapabilityList;
|
|
161
|
+
/** Returns a single capability state from the current snapshot, or null. Requires `radio:read`. */
|
|
162
|
+
getState(id: string): CapabilityState | null;
|
|
163
|
+
/** Refreshes readable capability values and returns the updated snapshot. Requires `radio:read`. */
|
|
164
|
+
refresh(): Promise<CapabilityList>;
|
|
165
|
+
/** Writes a capability value or triggers an action capability. Requires `radio:control`. */
|
|
166
|
+
write(payload: WriteCapabilityPayload): Promise<void>;
|
|
167
|
+
}
|
|
168
|
+
export interface RadioPowerSetOptions {
|
|
169
|
+
/** Profile to target. Defaults to the active profile. */
|
|
170
|
+
profileId?: string;
|
|
171
|
+
/** Start TX-5DR after physical power-on. Defaults to true. */
|
|
172
|
+
autoEngine?: boolean;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Access to physical radio power management.
|
|
176
|
+
*/
|
|
177
|
+
export interface RadioPowerControl {
|
|
178
|
+
/** Returns power support information for the active or specified profile. Requires `radio:read`. */
|
|
179
|
+
getSupport(profileId?: string): Promise<RadioPowerSupportInfo>;
|
|
180
|
+
/** Returns the last known power transition state for the active or specified profile. Requires `radio:read`. */
|
|
181
|
+
getState(profileId?: string): RadioPowerStateEvent | null;
|
|
182
|
+
/** Requests a physical power transition. Requires `radio:power`. */
|
|
183
|
+
set(state: RadioPowerTarget, options?: RadioPowerSetOptions): Promise<RadioPowerResponse>;
|
|
184
|
+
}
|
|
151
185
|
/**
|
|
152
186
|
* Filter criteria for querying QSO records from the logbook.
|
|
153
187
|
*
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,10 +24,11 @@ export type { PluginDefinition } from './definition.js';
|
|
|
24
24
|
export type { PluginContext } from './context.js';
|
|
25
25
|
export type { PluginHooks, AutoCallProposal, AutoCallExecutionRequest, AutoCallExecutionPlan, ScoredCandidate, StrategyDecision, StrategyDecisionMeta, LastMessageInfo, QSOFailureInfo, } from './hooks.js';
|
|
26
26
|
export type { StrategyRuntime, StrategyRuntimeContext, StrategyRuntimeSnapshot, StrategyRuntimeSlot, StrategyRuntimeSlotContentUpdate, } from './runtime.js';
|
|
27
|
+
export type { HostSettingsControl, HostSettingsNamespace, HostFrequencyPresetsSettingsNamespace, HostFT8Settings, HostFT8SettingsPatch, HostFrequencyPresetsSettings, HostStationInfoPatch, HostPSKReporterSettingsPatch, } from './settings.js';
|
|
27
28
|
/** Host-provided helper interfaces available through {@link PluginContext}. */
|
|
28
|
-
export type { KVStore, PluginLogger, PluginTimers, OperatorControl, RadioControl, LogbookAccess, CallsignLogbookAccess, QSOQueryFilter, BandAccess, IdleTransmitFrequencyOptions, AutoTargetEligibilityReason, AutoTargetEligibilityDecision, UIBridge, PanelMeta, PluginUIHandler, PluginUIRequestContext, PluginUIRequestUser, PluginUIBoundResource, PluginUIInstanceTarget, PluginUIPageSessionInfo, PluginUIPageContext, PluginFileStore, } from './helpers.js';
|
|
29
|
+
export type { KVStore, PluginLogger, PluginTimers, OperatorControl, RadioControl, RadioCapabilitiesControl, RadioPowerControl, RadioPowerSetOptions, LogbookAccess, CallsignLogbookAccess, QSOQueryFilter, BandAccess, IdleTransmitFrequencyOptions, AutoTargetEligibilityReason, AutoTargetEligibilityDecision, UIBridge, PanelMeta, PluginUIHandler, PluginUIRequestContext, PluginUIRequestUser, PluginUIBoundResource, PluginUIInstanceTarget, PluginUIPageSessionInfo, PluginUIPageContext, PluginFileStore, } from './helpers.js';
|
|
29
30
|
/** Common radio/message/settings types re-exported for plugin author convenience. */
|
|
30
|
-
export type { FT8Message, FT8MessageBase, FT8MessageCQ, FT8MessageCall, FT8MessageSignalReport, FT8MessageRogerReport, FT8MessageRRR, FT8MessageSeventyThree, FT8MessageFoxRR73, FT8MessageCustom, FT8MessageUnknown, ParsedFT8Message, LogbookAnalysis, SlotInfo, SlotPack, QSORecord, FrameMessage, ModeDescriptor, OperatorSlots, DxccStatus, TargetSelectionPriorityMode, PluginType, PluginInstanceScope, PluginPermission, PluginSettingType, PluginSettingDescriptor, PluginSettingScope, PluginQuickAction, PluginQuickSetting, PluginCapability, PluginPanelDescriptor, PluginPanelComponent, PluginPanelWidth, PluginUIPanelContributionGroup, PluginUIPanelContributionTarget, PluginObjectArrayField, PluginSettingOption, PluginStorageScope, PluginStorageConfig, PluginManifest, PluginStatus, PluginUIPageDescriptor, PluginUIConfig, } from '@tx5dr/contracts';
|
|
31
|
+
export type { FT8Message, FT8MessageBase, FT8MessageCQ, FT8MessageCall, FT8MessageSignalReport, FT8MessageRogerReport, FT8MessageRRR, FT8MessageSeventyThree, FT8MessageFoxRR73, FT8MessageCustom, FT8MessageUnknown, ParsedFT8Message, LogbookAnalysis, SlotInfo, SlotPack, QSORecord, FrameMessage, ModeDescriptor, OperatorSlots, DxccStatus, TargetSelectionPriorityMode, PluginType, PluginInstanceScope, PluginPermission, PluginSettingType, PluginSettingDescriptor, PluginSettingScope, PluginQuickAction, PluginQuickSetting, PluginCapability, PluginPanelDescriptor, PluginPanelComponent, PluginPanelWidth, PluginUIPanelContributionGroup, PluginUIPanelContributionTarget, PluginObjectArrayField, PluginSettingOption, PluginStorageScope, PluginStorageConfig, PluginManifest, PluginStatus, PluginUIPageDescriptor, PluginUIConfig, CapabilityList, CapabilityState, CapabilityDescriptor, CapabilityValue, WriteCapabilityPayload, RadioPowerRequest, RadioPowerResponse, RadioPowerState, RadioPowerStateEvent, RadioPowerSupportInfo, RadioPowerTarget, DecodeWindowSettings, RealtimeSettings, RealtimeSettingsResponseData, PresetFrequency, StationInfo, PSKReporterConfig, NtpServerListSettings, UpdateNtpServerListRequest, } from '@tx5dr/contracts';
|
|
31
32
|
/** Logbook sync provider interfaces. */
|
|
32
33
|
export type { LogbookSyncProvider, LogbookSyncRegistrar, SyncAction, SyncTestResult, SyncUploadOptions, SyncUploadResult, SyncPreflightIssue, SyncUploadPreflightResult, SyncDownloadResult, SyncDownloadOptions, } from './sync.js';
|
|
33
34
|
/** Stable runtime enum values commonly referenced by plugin implementations. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,uDAAuD;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,gCAAgC,GACjC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+IH,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,4CAA4C;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,wDAAwD;AACxD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,wCAAwC;AACxC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { DecodeWindowSettings, NtpServerListSettings, PresetFrequency, PSKReporterConfig, RealtimeSettings, StationInfo, UpdateNtpServerListRequest } from '@tx5dr/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Host-level FT8/FT4 settings that plugins may inspect or adjust when granted
|
|
4
|
+
* the `settings:ft8` permission.
|
|
5
|
+
*/
|
|
6
|
+
export interface HostFT8Settings {
|
|
7
|
+
myCallsign: string;
|
|
8
|
+
myGrid: string;
|
|
9
|
+
frequency: number;
|
|
10
|
+
transmitPower: number;
|
|
11
|
+
autoReply: boolean;
|
|
12
|
+
maxQSOTimeout: number;
|
|
13
|
+
/** Set to 0 to disable the host repeated-transmission guard. */
|
|
14
|
+
maxSameTransmissionCount: number;
|
|
15
|
+
decodeWhileTransmitting: boolean;
|
|
16
|
+
spectrumWhileTransmitting: boolean;
|
|
17
|
+
}
|
|
18
|
+
export type HostFT8SettingsPatch = Partial<HostFT8Settings>;
|
|
19
|
+
export interface HostFrequencyPresetsSettings {
|
|
20
|
+
presets: PresetFrequency[];
|
|
21
|
+
isCustomized: boolean;
|
|
22
|
+
}
|
|
23
|
+
export type HostStationInfoPatch = Partial<StationInfo>;
|
|
24
|
+
export type HostPSKReporterSettingsPatch = Partial<PSKReporterConfig>;
|
|
25
|
+
export interface HostSettingsNamespace<TValue, TPatch> {
|
|
26
|
+
/** Returns the current host setting value for this namespace. */
|
|
27
|
+
get(): Promise<TValue>;
|
|
28
|
+
/** Applies a patch or replacement value and returns the updated value. */
|
|
29
|
+
update(patch: TPatch): Promise<TValue>;
|
|
30
|
+
}
|
|
31
|
+
export interface HostFrequencyPresetsSettingsNamespace {
|
|
32
|
+
get(): Promise<HostFrequencyPresetsSettings>;
|
|
33
|
+
update(presets: PresetFrequency[]): Promise<HostFrequencyPresetsSettings>;
|
|
34
|
+
reset(): Promise<HostFrequencyPresetsSettings>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Permission-gated host settings surface exposed as `ctx.settings`.
|
|
38
|
+
*
|
|
39
|
+
* Each namespace requires its matching plugin manifest permission, for example
|
|
40
|
+
* `settings:ft8` for `ctx.settings.ft8`.
|
|
41
|
+
*/
|
|
42
|
+
export interface HostSettingsControl {
|
|
43
|
+
readonly ft8: HostSettingsNamespace<HostFT8Settings, HostFT8SettingsPatch>;
|
|
44
|
+
readonly decodeWindows: HostSettingsNamespace<DecodeWindowSettings, DecodeWindowSettings>;
|
|
45
|
+
readonly realtime: HostSettingsNamespace<RealtimeSettings, RealtimeSettings>;
|
|
46
|
+
readonly frequencyPresets: HostFrequencyPresetsSettingsNamespace;
|
|
47
|
+
readonly station: HostSettingsNamespace<StationInfo, HostStationInfoPatch>;
|
|
48
|
+
readonly pskReporter: HostSettingsNamespace<PSKReporterConfig, HostPSKReporterSettingsPatch>;
|
|
49
|
+
readonly ntp: HostSettingsNamespace<NtpServerListSettings, UpdateNtpServerListRequest>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE5D,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEtE,MAAM,WAAW,qBAAqB,CAAC,MAAM,EAAE,MAAM;IACnD,iEAAiE;IACjE,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,0EAA0E;IAC1E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,qCAAqC;IACpD,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1E,KAAK,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAChD;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC3E,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAC1F,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC3E,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAAC;IAC7F,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;CACxF"}
|
package/dist/settings.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":""}
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* ```
|
|
11
11
|
*/
|
|
12
12
|
import type { KVStore, PluginLogger, PluginTimers, OperatorControl, RadioControl, LogbookAccess, BandAccess, UIBridge, PluginFileStore } from '../helpers.js';
|
|
13
|
+
import type { HostSettingsControl } from '../settings.js';
|
|
13
14
|
import type { PluginContext } from '../context.js';
|
|
14
15
|
import type { SlotInfo, ParsedFT8Message, ModeDescriptor } from '@tx5dr/contracts';
|
|
15
16
|
/** KVStore backed by an in-memory Map. Inspect `_data` in assertions. */
|
|
@@ -41,6 +42,7 @@ export interface MockPluginContext extends PluginContext {
|
|
|
41
42
|
readonly log: MockLogger;
|
|
42
43
|
readonly timers: MockTimers;
|
|
43
44
|
readonly ui: MockUIBridge;
|
|
45
|
+
readonly settings: HostSettingsControl;
|
|
44
46
|
}
|
|
45
47
|
export declare function createMockKVStore(initial?: Record<string, unknown>): MockKVStore;
|
|
46
48
|
export declare function createMockLogger(): MockLogger;
|
|
@@ -51,6 +53,7 @@ export declare function createMockLogbookAccess(overrides?: Partial<LogbookAcces
|
|
|
51
53
|
export declare function createMockBandAccess(overrides?: Partial<BandAccess>): BandAccess;
|
|
52
54
|
export declare function createMockUIBridge(): MockUIBridge;
|
|
53
55
|
export declare function createMockFileStore(): PluginFileStore;
|
|
56
|
+
export declare function createMockHostSettingsControl(overrides?: Partial<HostSettingsControl>): HostSettingsControl;
|
|
54
57
|
export interface MockPluginContextOptions {
|
|
55
58
|
/** Initial config values (default: empty). */
|
|
56
59
|
config?: Record<string, unknown>;
|
|
@@ -72,6 +75,8 @@ export interface MockPluginContextOptions {
|
|
|
72
75
|
logbook?: Partial<LogbookAccess>;
|
|
73
76
|
/** Band access overrides. */
|
|
74
77
|
band?: Partial<BandAccess>;
|
|
78
|
+
/** Host settings control overrides. */
|
|
79
|
+
settings?: Partial<HostSettingsControl>;
|
|
75
80
|
/** Pre-constructed stores (uses fresh empty stores when omitted). */
|
|
76
81
|
store?: {
|
|
77
82
|
global?: MockKVStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.js
CHANGED
|
@@ -89,10 +89,28 @@ export function createMockOperatorControl(overrides) {
|
|
|
89
89
|
}
|
|
90
90
|
// ===== Factory: RadioControl =====
|
|
91
91
|
export function createMockRadioControl(overrides) {
|
|
92
|
+
const capabilitySnapshot = { descriptors: [], capabilities: [] };
|
|
93
|
+
const powerState = { state: 'awake', stage: 'idle' };
|
|
92
94
|
return {
|
|
93
95
|
frequency: 14074000,
|
|
94
96
|
band: '20m',
|
|
95
97
|
isConnected: true,
|
|
98
|
+
capabilities: {
|
|
99
|
+
getSnapshot: () => capabilitySnapshot,
|
|
100
|
+
getState: (id) => capabilitySnapshot.capabilities.find((capability) => capability.id === id) ?? null,
|
|
101
|
+
refresh: async () => capabilitySnapshot,
|
|
102
|
+
write: async () => { },
|
|
103
|
+
},
|
|
104
|
+
power: {
|
|
105
|
+
getSupport: async (profileId = 'mock-profile') => ({
|
|
106
|
+
profileId,
|
|
107
|
+
canPowerOn: true,
|
|
108
|
+
canPowerOff: true,
|
|
109
|
+
supportedStates: ['off', 'standby', 'operate'],
|
|
110
|
+
}),
|
|
111
|
+
getState: () => powerState,
|
|
112
|
+
set: async (state) => ({ success: true, target: state, state: state === 'off' ? 'off' : 'awake' }),
|
|
113
|
+
},
|
|
96
114
|
setFrequency: async () => { },
|
|
97
115
|
...overrides,
|
|
98
116
|
};
|
|
@@ -178,6 +196,70 @@ export function createMockFileStore() {
|
|
|
178
196
|
},
|
|
179
197
|
};
|
|
180
198
|
}
|
|
199
|
+
// ===== Factory: HostSettingsControl =====
|
|
200
|
+
export function createMockHostSettingsControl(overrides) {
|
|
201
|
+
const ft8 = {
|
|
202
|
+
myCallsign: 'W1AW',
|
|
203
|
+
myGrid: 'FN31',
|
|
204
|
+
frequency: 14_074_000,
|
|
205
|
+
transmitPower: 25,
|
|
206
|
+
autoReply: false,
|
|
207
|
+
maxQSOTimeout: 6,
|
|
208
|
+
maxSameTransmissionCount: 20,
|
|
209
|
+
decodeWhileTransmitting: false,
|
|
210
|
+
spectrumWhileTransmitting: true,
|
|
211
|
+
};
|
|
212
|
+
const decodeWindows = { ft8: { preset: 'balanced' }, ft4: { preset: 'balanced' } };
|
|
213
|
+
const realtime = { transportPolicy: 'auto', rtcDataAudioPublicHost: null, rtcDataAudioPublicUdpPort: null };
|
|
214
|
+
const frequencyPresets = {
|
|
215
|
+
presets: [{ band: '20m', mode: 'FT8', radioMode: 'USB', frequency: 14_074_000, description: '20m FT8' }],
|
|
216
|
+
isCustomized: false,
|
|
217
|
+
};
|
|
218
|
+
const station = { callsign: 'W1AW', qth: { grid: 'FN31' } };
|
|
219
|
+
const pskReporter = {
|
|
220
|
+
enabled: false,
|
|
221
|
+
receiverCallsign: '',
|
|
222
|
+
receiverLocator: '',
|
|
223
|
+
decodingSoftware: 'TX-5DR',
|
|
224
|
+
antennaInformation: '',
|
|
225
|
+
reportIntervalSeconds: 30,
|
|
226
|
+
useTestServer: false,
|
|
227
|
+
stats: { todayReportCount: 0, totalReportCount: 0, consecutiveFailures: 0 },
|
|
228
|
+
};
|
|
229
|
+
const ntp = { servers: ['pool.ntp.org'], defaultServers: ['pool.ntp.org'] };
|
|
230
|
+
return {
|
|
231
|
+
ft8: {
|
|
232
|
+
async get() { return ft8; },
|
|
233
|
+
async update(patch) { Object.assign(ft8, patch); return ft8; },
|
|
234
|
+
},
|
|
235
|
+
decodeWindows: {
|
|
236
|
+
async get() { return decodeWindows; },
|
|
237
|
+
async update(settings) { Object.assign(decodeWindows, settings); return decodeWindows; },
|
|
238
|
+
},
|
|
239
|
+
realtime: {
|
|
240
|
+
async get() { return realtime; },
|
|
241
|
+
async update(settings) { Object.assign(realtime, settings); return realtime; },
|
|
242
|
+
},
|
|
243
|
+
frequencyPresets: {
|
|
244
|
+
async get() { return frequencyPresets; },
|
|
245
|
+
async update(presets) { frequencyPresets.presets = presets; frequencyPresets.isCustomized = true; return frequencyPresets; },
|
|
246
|
+
async reset() { frequencyPresets.isCustomized = false; return frequencyPresets; },
|
|
247
|
+
},
|
|
248
|
+
station: {
|
|
249
|
+
async get() { return station; },
|
|
250
|
+
async update(patch) { Object.assign(station, patch); return station; },
|
|
251
|
+
},
|
|
252
|
+
pskReporter: {
|
|
253
|
+
async get() { return pskReporter; },
|
|
254
|
+
async update(patch) { Object.assign(pskReporter, patch); return pskReporter; },
|
|
255
|
+
},
|
|
256
|
+
ntp: {
|
|
257
|
+
async get() { return ntp; },
|
|
258
|
+
async update(request) { ntp.servers = request.servers; return ntp; },
|
|
259
|
+
},
|
|
260
|
+
...overrides,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
181
263
|
export function createMockContext(options) {
|
|
182
264
|
const opts = options ?? {};
|
|
183
265
|
const log = createMockLogger();
|
|
@@ -199,6 +281,7 @@ export function createMockContext(options) {
|
|
|
199
281
|
const radio = createMockRadioControl(opts.radio);
|
|
200
282
|
const logbook = createMockLogbookAccess(opts.logbook);
|
|
201
283
|
const band = createMockBandAccess(opts.band);
|
|
284
|
+
const settings = createMockHostSettingsControl(opts.settings);
|
|
202
285
|
const files = createMockFileStore();
|
|
203
286
|
const logbookSync = { register() { } };
|
|
204
287
|
return {
|
|
@@ -211,6 +294,7 @@ export function createMockContext(options) {
|
|
|
211
294
|
logbook,
|
|
212
295
|
band,
|
|
213
296
|
ui,
|
|
297
|
+
settings,
|
|
214
298
|
files,
|
|
215
299
|
logbookSync,
|
|
216
300
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tx5dr/plugin-api",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Public plugin API for TX-5DR digital radio engine",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"test": "vitest run --passWithNoTests"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@tx5dr/contracts": "1.
|
|
49
|
-
"@tx5dr/core": "1.
|
|
48
|
+
"@tx5dr/contracts": "1.7.0",
|
|
49
|
+
"@tx5dr/core": "1.7.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"typescript": "^5.0.0",
|