@tolinax/ayoune-interfaces 2026.33.1 → 2026.35.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.
@@ -29,6 +29,27 @@ export interface IComputingEntityProgramHealthCheck {
29
29
  intervalMs?: number;
30
30
  timeoutMs?: number;
31
31
  }
32
+ export interface IProgramHook {
33
+ type: 'http' | 'event' | 'beacon';
34
+ url?: string;
35
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
36
+ body?: any;
37
+ headers?: Record<string, string>;
38
+ /** If 'fanOut', fires once per value in program.fanOut[]; ${fanOutValue} available in url/body templates */
39
+ repeatForEach?: 'fanOut' | 'none';
40
+ event?: string;
41
+ timeoutMs?: number;
42
+ }
43
+ export interface IProgramHooks {
44
+ onStarted?: IProgramHook[];
45
+ onStopped?: IProgramHook[];
46
+ onCrashed?: IProgramHook[];
47
+ onSetupDone?: IProgramHook[];
48
+ }
49
+ export interface IProgramConfig {
50
+ /** Reference to CustomConfigFiles — program-level template bundle (multi-file) */
51
+ customConfig?: ObjectId;
52
+ }
32
53
  export interface IComputingEntityProgram {
33
54
  _id?: ObjectId;
34
55
  pid?: number;
@@ -87,6 +108,16 @@ export interface IComputingEntityProgram {
87
108
  healthCheck?: IComputingEntityProgramHealthCheck;
88
109
  adapter?: string;
89
110
  adapterConfig?: Record<string, any>;
111
+ /** Program-level reference to a CustomConfigFiles template bundle */
112
+ config?: IProgramConfig;
113
+ /** Generic iteration list — MT4: symbols; ERP: table names; Backup: drive letters */
114
+ fanOut?: string[];
115
+ /** Hooks fired at lifecycle events. 'http' hooks support repeatForEach: 'fanOut'. */
116
+ hooks?: IProgramHooks;
117
+ /** Sequence steps executed on first boot (setupDone=false) or via admin action */
118
+ initSequence?: IRemoteSequenceStep[];
119
+ /** Optional HTTP path/URL the managed process exposes for liveness probes */
120
+ beaconPath?: string;
90
121
  }
91
122
  export interface IComputingEntitySetting {
92
123
  mode?: string;
@@ -101,9 +132,19 @@ export interface IComputingEntityConfigFile {
101
132
  name?: string;
102
133
  }
103
134
  export interface IComputingEntityBinary {
135
+ /** One-shot binary via Uploads collection (e.g. custom EA one-off file) */
104
136
  _file?: ObjectId;
137
+ /** Versioned binary via updates.ayoune.app (Electron-updater protocol, channels, staged rollouts) */
138
+ appId?: string;
139
+ /** Download auth key (pairs with appId) */
140
+ key?: string;
141
+ /** Update channel: 'latest' | 'beta' | 'alpha' */
142
+ channel?: string;
143
+ /** Target path on the agent's filesystem */
105
144
  targetPath?: string;
145
+ /** SHA-256 of the expected content (verified after download when using _file) */
106
146
  checksum?: string;
147
+ /** Human-readable label for admin UI */
107
148
  name?: string;
108
149
  }
109
150
  export interface IComputingEntityConfig {
@@ -170,7 +211,11 @@ export interface IComputingEntity extends IDefaultFields {
170
211
  agentType?: 'desktop-client' | 'standalone' | 'legacy';
171
212
  capabilities?: string[];
172
213
  lastHeartbeat?: Date;
173
- agentStatus?: 'online' | 'offline' | 'stale' | 'updating';
214
+ agentStatus?: 'online' | 'offline' | 'stale' | 'updating' | 'provisioning';
174
215
  tags?: string[];
175
216
  pendingCommands?: IRemoteCommand[];
217
+ bootstrapToken?: string;
218
+ bootstrapTokenExpiresAt?: Date;
219
+ bootstrapTokenUsedAt?: Date;
220
+ machineRefreshTokenHash?: string;
176
221
  }
@@ -1,4 +1,18 @@
1
1
  import { IDefaultFields } from "./IDefaultFields";
2
+ import { IComputingEntityProgram, IComputingEntityBinary, IComputingEntityConfigFile } from "./IComputingEntity";
3
+ export interface IComputingEntityFeatureFlags {
4
+ sync?: boolean;
5
+ nfc?: boolean;
6
+ barcode?: boolean;
7
+ iot?: boolean;
8
+ communication?: boolean;
9
+ ai?: boolean;
10
+ quickActions?: boolean;
11
+ clipboard?: boolean;
12
+ screenShare?: boolean;
13
+ remoteControl?: boolean;
14
+ processAgent?: boolean;
15
+ }
2
16
  export interface IComputingEntityTemplate extends IDefaultFields {
3
17
  _customerID: ObjectId;
4
18
  _clientID?: ObjectId[];
@@ -11,4 +25,11 @@ export interface IComputingEntityTemplate extends IDefaultFields {
11
25
  password?: string;
12
26
  template?: string;
13
27
  parameters?: string;
28
+ adapter?: string;
29
+ featureFlags?: IComputingEntityFeatureFlags;
30
+ programs?: IComputingEntityProgram[];
31
+ binaries?: IComputingEntityBinary[];
32
+ configFiles?: IComputingEntityConfigFile[];
33
+ desktopClientInstaller?: string;
34
+ bootstrapTtlHours?: number;
14
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolinax/ayoune-interfaces",
3
- "version": "2026.33.1",
3
+ "version": "2026.35.0",
4
4
  "description": "Houses TypeScript interfaces for aYOUne",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",