@tolinax/ayoune-interfaces 2026.34.0 → 2026.36.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 {
@@ -1067,6 +1067,46 @@ export interface ISetting extends IDefaultFields {
1067
1067
  customerportal: ISettingCustomerPortal;
1068
1068
  linkPortal: ILinkPortal;
1069
1069
  supportPortal: ISupportPortal;
1070
+ warehouse?: IWarehouseSettings;
1070
1071
  [x: string]: any;
1071
1072
  }
1073
+ export interface IWarehouseSettings {
1074
+ putAway?: {
1075
+ mode?: 'system-directed' | 'pallet-first' | 'worker-pick';
1076
+ placementStrategy?: 'empty_bin' | 'same_product' | 'FIFO' | 'FEFO' | 'ABC';
1077
+ };
1078
+ receive?: {
1079
+ poLookupMode?: 'off' | 'optional' | 'required';
1080
+ poSessionMode?: 'single' | 'multi' | 'ad-hoc';
1081
+ allowOverage?: boolean;
1082
+ overageThresholdPercent?: number;
1083
+ requireLotOnReceive?: boolean;
1084
+ };
1085
+ pick?: {
1086
+ batchMode?: 'single' | 'wave' | 'both';
1087
+ qtyMode?: 'prompt' | 'per-unit';
1088
+ allowShortPick?: boolean;
1089
+ requireSerialForTaggedProducts?: boolean;
1090
+ };
1091
+ materialCommissioning?: {
1092
+ handoffMode?: 'auto-deliver' | 'operator-confirm';
1093
+ };
1094
+ cycleCount?: {
1095
+ autoApproveVarianceThreshold?: number;
1096
+ requireTwoCount?: boolean;
1097
+ escalateOnConsecutiveVariances?: number;
1098
+ };
1099
+ replenishment?: {
1100
+ autoTriggerEnabled?: boolean;
1101
+ minLevelCheckIntervalMinutes?: number;
1102
+ };
1103
+ autoPrint?: {
1104
+ onStorageAreaCreate?: boolean;
1105
+ onPickListStart?: boolean;
1106
+ onReceive?: boolean;
1107
+ onPutAwayComplete?: boolean;
1108
+ onMaterialDispatch?: boolean;
1109
+ onPackSeal?: boolean;
1110
+ };
1111
+ }
1072
1112
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolinax/ayoune-interfaces",
3
- "version": "2026.34.0",
3
+ "version": "2026.36.0",
4
4
  "description": "Houses TypeScript interfaces for aYOUne",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",