@spottoai/types-package 1.0.2-beta.420 → 1.0.2-beta.421

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.
Files changed (77) hide show
  1. package/README.md +3 -0
  2. package/dist/accounts/azureSpSetup.d.ts +5 -0
  3. package/dist/accounts/azureSpSetup.d.ts.map +1 -1
  4. package/dist/accounts/azureSpSetup.js.map +1 -1
  5. package/dist/accounts/writePermissions.d.ts +5 -1
  6. package/dist/accounts/writePermissions.d.ts.map +1 -1
  7. package/dist/accounts/writePermissions.js +9 -0
  8. package/dist/accounts/writePermissions.js.map +1 -1
  9. package/dist/esm/accounts/writePermissions.js +9 -0
  10. package/dist/esm/scheduler/index.js +2 -3
  11. package/dist/esm/scheduler/resourceStrategy.js +2 -0
  12. package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +241 -0
  13. package/dist/esm/scheduler/resourceStrategyContracts.js +14 -0
  14. package/dist/esm/scheduler/resourceStrategyFinancialValidation.js +145 -0
  15. package/dist/esm/scheduler/resourceStrategyPermissionValidation.js +190 -0
  16. package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +332 -0
  17. package/dist/esm/scheduler/resourceStrategyValidation.js +4 -0
  18. package/dist/esm/scheduler/resourceStrategyValidationShared.js +261 -0
  19. package/dist/esm/scheduler/weeklyAvailabilityFixtures.js +140 -0
  20. package/dist/scheduler/index.d.ts +2 -3
  21. package/dist/scheduler/index.d.ts.map +1 -1
  22. package/dist/scheduler/index.js +2 -3
  23. package/dist/scheduler/index.js.map +1 -1
  24. package/dist/scheduler/resourceStrategy.d.ts +3 -0
  25. package/dist/scheduler/resourceStrategy.d.ts.map +1 -0
  26. package/dist/scheduler/resourceStrategy.js +19 -0
  27. package/dist/scheduler/resourceStrategy.js.map +1 -0
  28. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts +4 -0
  29. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -0
  30. package/dist/scheduler/resourceStrategyCapabilityValidation.js +246 -0
  31. package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -0
  32. package/dist/scheduler/resourceStrategyContracts.d.ts +412 -0
  33. package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -0
  34. package/dist/scheduler/resourceStrategyContracts.js +18 -0
  35. package/dist/scheduler/resourceStrategyContracts.js.map +1 -0
  36. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts +5 -0
  37. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts.map +1 -0
  38. package/dist/scheduler/resourceStrategyFinancialValidation.js +151 -0
  39. package/dist/scheduler/resourceStrategyFinancialValidation.js.map +1 -0
  40. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts +4 -0
  41. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts.map +1 -0
  42. package/dist/scheduler/resourceStrategyPermissionValidation.js +195 -0
  43. package/dist/scheduler/resourceStrategyPermissionValidation.js.map +1 -0
  44. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +10 -0
  45. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -0
  46. package/dist/scheduler/resourceStrategyScheduleValidation.js +343 -0
  47. package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -0
  48. package/dist/scheduler/resourceStrategyValidation.d.ts +5 -0
  49. package/dist/scheduler/resourceStrategyValidation.d.ts.map +1 -0
  50. package/dist/scheduler/resourceStrategyValidation.js +21 -0
  51. package/dist/scheduler/resourceStrategyValidation.js.map +1 -0
  52. package/dist/scheduler/resourceStrategyValidationShared.d.ts +19 -0
  53. package/dist/scheduler/resourceStrategyValidationShared.d.ts.map +1 -0
  54. package/dist/scheduler/resourceStrategyValidationShared.js +281 -0
  55. package/dist/scheduler/resourceStrategyValidationShared.js.map +1 -0
  56. package/dist/scheduler/scheduler.d.ts +6 -159
  57. package/dist/scheduler/scheduler.d.ts.map +1 -1
  58. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts +26 -0
  59. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts.map +1 -0
  60. package/dist/scheduler/weeklyAvailabilityFixtures.js +144 -0
  61. package/dist/scheduler/weeklyAvailabilityFixtures.js.map +1 -0
  62. package/package.json +11 -3
  63. package/dist/esm/scheduler/bastionSchedule.js +0 -1
  64. package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
  65. package/dist/esm/scheduler/bastionScheduleValidation.js +0 -401
  66. package/dist/scheduler/bastionSchedule.d.ts +0 -113
  67. package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
  68. package/dist/scheduler/bastionSchedule.js +0 -3
  69. package/dist/scheduler/bastionSchedule.js.map +0 -1
  70. package/dist/scheduler/bastionScheduleProfile.d.ts +0 -24
  71. package/dist/scheduler/bastionScheduleProfile.d.ts.map +0 -1
  72. package/dist/scheduler/bastionScheduleProfile.js +0 -210
  73. package/dist/scheduler/bastionScheduleProfile.js.map +0 -1
  74. package/dist/scheduler/bastionScheduleValidation.d.ts +0 -10
  75. package/dist/scheduler/bastionScheduleValidation.d.ts.map +0 -1
  76. package/dist/scheduler/bastionScheduleValidation.js +0 -412
  77. package/dist/scheduler/bastionScheduleValidation.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./resourceStrategyCapabilityValidation"), exports);
18
+ __exportStar(require("./resourceStrategyFinancialValidation"), exports);
19
+ __exportStar(require("./resourceStrategyPermissionValidation"), exports);
20
+ __exportStar(require("./resourceStrategyScheduleValidation"), exports);
21
+ //# sourceMappingURL=resourceStrategyValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceStrategyValidation.js","sourceRoot":"","sources":["../../src/scheduler/resourceStrategyValidation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,wEAAsD;AACtD,yEAAuD;AACvD,uEAAqD"}
@@ -0,0 +1,19 @@
1
+ import { type ResourceSchedulingCapabilityRef } from './resourceStrategyContracts';
2
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
3
+ export declare function hasOnlyKeys(value: Record<string, unknown>, allowed: readonly string[]): boolean;
4
+ export declare function isBoundedString(value: unknown, maximum?: number): value is string;
5
+ export declare function isOptionalBoundedString(value: unknown, maximum?: number): boolean;
6
+ export declare function isPositiveInteger(value: unknown): value is number;
7
+ export declare function isNonNegativeInteger(value: unknown): value is number;
8
+ export declare function isIsoTimestamp(value: unknown): value is string;
9
+ export declare function isDate(value: unknown): value is string;
10
+ export declare function isTime(value: unknown): value is string;
11
+ export declare function isCurrency(value: unknown): value is string;
12
+ export declare function isNonNegativeDecimal(value: unknown): value is string;
13
+ export declare function isIanaTimezone(value: unknown): value is string;
14
+ export declare function isWithinJsonByteLimit(value: unknown, maximum: number): boolean;
15
+ export declare function isBoundedStringArray(value: unknown, maximum?: number): value is string[];
16
+ export declare function containsForbiddenKey(value: unknown, depth?: number): boolean;
17
+ export declare function isBoundedParameters(value: unknown): value is Record<string, unknown>;
18
+ export declare function isCapabilityRef(value: unknown): value is ResourceSchedulingCapabilityRef;
19
+ //# sourceMappingURL=resourceStrategyValidationShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceStrategyValidationShared.d.ts","sourceRoot":"","sources":["../../src/scheduler/resourceStrategyValidationShared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AA+BtH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazE;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAU/F;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAqD,GAAG,KAAK,IAAI,MAAM,CAE/H;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAqD,GAAG,OAAO,CAE/H;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEjE;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEpE;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAM9D;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAItD;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEtD;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE1D;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEpE;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAQ9D;AAqCD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAsD9E;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAwD,GAAG,KAAK,IAAI,MAAM,EAAE,CAEzI;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAcvE;AASD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGpF;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,+BAA+B,CAOxF"}
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRecord = isRecord;
4
+ exports.hasOnlyKeys = hasOnlyKeys;
5
+ exports.isBoundedString = isBoundedString;
6
+ exports.isOptionalBoundedString = isOptionalBoundedString;
7
+ exports.isPositiveInteger = isPositiveInteger;
8
+ exports.isNonNegativeInteger = isNonNegativeInteger;
9
+ exports.isIsoTimestamp = isIsoTimestamp;
10
+ exports.isDate = isDate;
11
+ exports.isTime = isTime;
12
+ exports.isCurrency = isCurrency;
13
+ exports.isNonNegativeDecimal = isNonNegativeDecimal;
14
+ exports.isIanaTimezone = isIanaTimezone;
15
+ exports.isWithinJsonByteLimit = isWithinJsonByteLimit;
16
+ exports.isBoundedStringArray = isBoundedStringArray;
17
+ exports.containsForbiddenKey = containsForbiddenKey;
18
+ exports.isBoundedParameters = isBoundedParameters;
19
+ exports.isCapabilityRef = isCapabilityRef;
20
+ const resourceStrategyContracts_1 = require("./resourceStrategyContracts");
21
+ const FORBIDDEN_AUTHORING_KEYS = new Set([
22
+ '__proto__',
23
+ 'prototype',
24
+ 'constructor',
25
+ 'actionId',
26
+ 'actionRef',
27
+ 'actionDefinitionId',
28
+ 'actionDefinitionRef',
29
+ 'workflowRef',
30
+ 'operation',
31
+ 'providerOperation',
32
+ 'compiledOperation',
33
+ 'httpMethod',
34
+ 'endpoint',
35
+ 'apiVersion',
36
+ 'requestTemplate',
37
+ 'permissions',
38
+ 'permissionActions',
39
+ 'permissionSetRef',
40
+ 'permissionSetRefs',
41
+ 'baseline',
42
+ 'baselineRef',
43
+ 'selectorRef',
44
+ 'restoreBaseline',
45
+ 'compiledDueRow',
46
+ ]);
47
+ const INHERITED_FORBIDDEN_AUTHORING_KEYS = [...FORBIDDEN_AUTHORING_KEYS].filter(key => key !== '__proto__' && key !== 'prototype' && key !== 'constructor');
48
+ function isRecord(value) {
49
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
50
+ return false;
51
+ try {
52
+ const prototype = Object.getPrototypeOf(value);
53
+ if (prototype !== Object.prototype && prototype !== null)
54
+ return false;
55
+ return Reflect.ownKeys(value).every(key => {
56
+ if (typeof key !== 'string')
57
+ return false;
58
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
59
+ return descriptor !== undefined && descriptor.enumerable && 'value' in descriptor;
60
+ });
61
+ }
62
+ catch {
63
+ return false;
64
+ }
65
+ }
66
+ function hasOnlyKeys(value, allowed) {
67
+ try {
68
+ const allowedSet = new Set(allowed);
69
+ return (Object.keys(value).every(key => allowedSet.has(key)) &&
70
+ allowed.every(key => !Reflect.has(value, key) || Object.prototype.hasOwnProperty.call(value, key)));
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ }
76
+ function isBoundedString(value, maximum = resourceStrategyContracts_1.RESOURCE_STRATEGY_CONTRACT_LIMITS.textLength) {
77
+ return typeof value === 'string' && value.length > 0 && value.length <= maximum;
78
+ }
79
+ function isOptionalBoundedString(value, maximum = resourceStrategyContracts_1.RESOURCE_STRATEGY_CONTRACT_LIMITS.textLength) {
80
+ return value === undefined || isBoundedString(value, maximum);
81
+ }
82
+ function isPositiveInteger(value) {
83
+ return typeof value === 'number' && Number.isSafeInteger(value) && value > 0;
84
+ }
85
+ function isNonNegativeInteger(value) {
86
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
87
+ }
88
+ function isIsoTimestamp(value) {
89
+ if (typeof value !== 'string' || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/.test(value))
90
+ return false;
91
+ const instant = new Date(value);
92
+ if (!Number.isFinite(instant.getTime()))
93
+ return false;
94
+ const canonical = instant.toISOString();
95
+ return value.includes('.') ? canonical === value : canonical.replace('.000Z', 'Z') === value;
96
+ }
97
+ function isDate(value) {
98
+ if (typeof value !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(value))
99
+ return false;
100
+ const date = new Date(`${value}T00:00:00.000Z`);
101
+ return Number.isFinite(date.getTime()) && date.toISOString().slice(0, 10) === value;
102
+ }
103
+ function isTime(value) {
104
+ return typeof value === 'string' && /^(?:[01]\d|2[0-3]):[0-5]\d$/.test(value);
105
+ }
106
+ function isCurrency(value) {
107
+ return typeof value === 'string' && /^[A-Z]{3}$/.test(value);
108
+ }
109
+ function isNonNegativeDecimal(value) {
110
+ return typeof value === 'string' && /^\d{1,15}(?:\.\d{1,8})?$/.test(value);
111
+ }
112
+ function isIanaTimezone(value) {
113
+ if (!isBoundedString(value, 100))
114
+ return false;
115
+ try {
116
+ new Intl.DateTimeFormat('en-US', { timeZone: value }).format(0);
117
+ return true;
118
+ }
119
+ catch {
120
+ return false;
121
+ }
122
+ }
123
+ function jsonStringByteLengthWithin(value, maximum) {
124
+ let bytes = 2;
125
+ for (let index = 0; index < value.length; index += 1) {
126
+ const codeUnit = value.charCodeAt(index);
127
+ if (codeUnit === 0x22 ||
128
+ codeUnit === 0x5c ||
129
+ codeUnit === 0x08 ||
130
+ codeUnit === 0x09 ||
131
+ codeUnit === 0x0a ||
132
+ codeUnit === 0x0c ||
133
+ codeUnit === 0x0d) {
134
+ bytes += 2;
135
+ }
136
+ else if (codeUnit <= 0x1f ||
137
+ (codeUnit >= 0xd800 &&
138
+ codeUnit <= 0xdfff &&
139
+ !(codeUnit <= 0xdbff && index + 1 < value.length && value.charCodeAt(index + 1) >= 0xdc00 && value.charCodeAt(index + 1) <= 0xdfff))) {
140
+ bytes += 6;
141
+ }
142
+ else if (codeUnit <= 0x7f) {
143
+ bytes += 1;
144
+ }
145
+ else if (codeUnit <= 0x7ff) {
146
+ bytes += 2;
147
+ }
148
+ else if (codeUnit <= 0xdbff) {
149
+ bytes += 4;
150
+ index += 1;
151
+ }
152
+ else {
153
+ bytes += 3;
154
+ }
155
+ if (bytes > maximum)
156
+ return null;
157
+ }
158
+ return bytes;
159
+ }
160
+ function isWithinJsonByteLimit(value, maximum) {
161
+ if (!Number.isSafeInteger(maximum) || maximum < 0)
162
+ return false;
163
+ const stack = [value];
164
+ let bytes = 0;
165
+ let nodes = 0;
166
+ try {
167
+ while (stack.length > 0) {
168
+ nodes += 1;
169
+ if (nodes > 10000)
170
+ return false;
171
+ const current = stack.pop();
172
+ if (current === null) {
173
+ bytes += 4;
174
+ }
175
+ else if (typeof current === 'string') {
176
+ const stringBytes = jsonStringByteLengthWithin(current, maximum - bytes);
177
+ if (stringBytes === null)
178
+ return false;
179
+ bytes += stringBytes;
180
+ }
181
+ else if (typeof current === 'number') {
182
+ if (!Number.isFinite(current))
183
+ return false;
184
+ bytes += String(Object.is(current, -0) ? 0 : current).length;
185
+ }
186
+ else if (typeof current === 'boolean') {
187
+ bytes += current ? 4 : 5;
188
+ }
189
+ else if (Array.isArray(current)) {
190
+ if (Object.getPrototypeOf(current) !== Array.prototype)
191
+ return false;
192
+ bytes += 2 + Math.max(0, current.length - 1);
193
+ if (bytes > maximum)
194
+ return false;
195
+ const ownKeys = Reflect.ownKeys(current);
196
+ if (ownKeys.length !== current.length + 1 || !ownKeys.includes('length'))
197
+ return false;
198
+ for (let index = 0; index < current.length; index += 1) {
199
+ const descriptor = Object.getOwnPropertyDescriptor(current, String(index));
200
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor))
201
+ return false;
202
+ stack.push(descriptor.value);
203
+ }
204
+ }
205
+ else if (isRecord(current)) {
206
+ const keys = Object.keys(current);
207
+ bytes += 2 + Math.max(0, keys.length - 1);
208
+ if (bytes > maximum)
209
+ return false;
210
+ for (const key of keys) {
211
+ const keyBytes = jsonStringByteLengthWithin(key, maximum - bytes);
212
+ if (keyBytes === null)
213
+ return false;
214
+ bytes += keyBytes + 1;
215
+ if (bytes > maximum)
216
+ return false;
217
+ const descriptor = Object.getOwnPropertyDescriptor(current, key);
218
+ if (descriptor === undefined || !('value' in descriptor))
219
+ return false;
220
+ stack.push(descriptor.value);
221
+ }
222
+ }
223
+ else {
224
+ return false;
225
+ }
226
+ if (bytes > maximum)
227
+ return false;
228
+ }
229
+ return true;
230
+ }
231
+ catch {
232
+ return false;
233
+ }
234
+ }
235
+ function isBoundedStringArray(value, maximum = resourceStrategyContracts_1.RESOURCE_STRATEGY_CONTRACT_LIMITS.metadataItems) {
236
+ return Array.isArray(value) && value.length <= maximum && value.every(item => isBoundedString(item, 2000));
237
+ }
238
+ function containsForbiddenKey(value, depth = 0) {
239
+ try {
240
+ if (depth > 8)
241
+ return true;
242
+ if (value !== null && typeof value === 'object') {
243
+ if (INHERITED_FORBIDDEN_AUTHORING_KEYS.some(key => Reflect.has(value, key) && !Object.prototype.hasOwnProperty.call(value, key))) {
244
+ return true;
245
+ }
246
+ }
247
+ if (Array.isArray(value))
248
+ return value.some(item => containsForbiddenKey(item, depth + 1));
249
+ if (!isRecord(value))
250
+ return false;
251
+ return Object.keys(value).some(key => FORBIDDEN_AUTHORING_KEYS.has(key) || containsForbiddenKey(value[key], depth + 1));
252
+ }
253
+ catch {
254
+ return true;
255
+ }
256
+ }
257
+ function isBoundedJsonValue(value, depth = 0) {
258
+ if (depth > 8)
259
+ return false;
260
+ if (value === null || typeof value === 'boolean' || typeof value === 'string')
261
+ return true;
262
+ if (typeof value === 'number')
263
+ return Number.isFinite(value);
264
+ if (Array.isArray(value))
265
+ return value.length <= 128 && value.every(item => isBoundedJsonValue(item, depth + 1));
266
+ if (!isRecord(value) || Object.keys(value).length > 128)
267
+ return false;
268
+ return Object.entries(value).every(([key, item]) => !FORBIDDEN_AUTHORING_KEYS.has(key) && isBoundedJsonValue(item, depth + 1));
269
+ }
270
+ function isBoundedParameters(value) {
271
+ if (!isWithinJsonByteLimit(value, resourceStrategyContracts_1.RESOURCE_STRATEGY_CONTRACT_LIMITS.parameterBytes))
272
+ return false;
273
+ return isRecord(value) && isBoundedJsonValue(value) && !containsForbiddenKey(value);
274
+ }
275
+ function isCapabilityRef(value) {
276
+ return (isRecord(value) &&
277
+ hasOnlyKeys(value, ['capabilityId', 'capabilityVersion']) &&
278
+ isBoundedString(value.capabilityId, 200) &&
279
+ isPositiveInteger(value.capabilityVersion));
280
+ }
281
+ //# sourceMappingURL=resourceStrategyValidationShared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceStrategyValidationShared.js","sourceRoot":"","sources":["../../src/scheduler/resourceStrategyValidationShared.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,10 @@
1
- import type { BastionAvailabilityWeeklyScheduleDefinition, BastionAvailabilityWeeklyScheduleWriteRequest, BastionScheduleRun } from './bastionSchedule';
2
- export type ScheduleTargetType = 'recommendation-action' | 'resource-operation' | 'provider-scope-operation';
1
+ /** Scheduler contracts that are not part of resource-strategy scheduling. */
2
+ export type ScheduleTargetType = 'recommendation-action' | 'provider-scope-operation';
3
3
  export type ScheduleSelectorType = 'single-resource' | 'selected-resources' | 'provider-scope';
4
4
  export type ScheduleType = 'once' | 'recurring';
5
5
  export type ScheduleStatus = 'active' | 'paused';
6
6
  export type ScheduleRunStatus = 'success' | 'dispatch-failed' | 'dispatching';
7
7
  export type ScheduleHistoryEventType = 'dispatch-succeeded' | 'dispatch-failed';
8
- export type ScheduleDefinitionClass = 'atomic' | 'composite';
9
- export type ScheduleDefinitionType = 'recommendation-action' | 'resource-operation' | 'vm-runtime-weekly' | 'bastion-availability-weekly';
10
- export type ResourceScheduleGroupType = 'resource-schedule-definition';
11
8
  export interface ScheduleTargetBase {
12
9
  companyId: string;
13
10
  providerName: string;
@@ -16,16 +13,7 @@ export interface ScheduleTargetBase {
16
13
  resourceId?: string;
17
14
  recommendationId?: string;
18
15
  recommendationAction?: string;
19
- operation?: string;
20
- actionDefinitionId?: string;
21
16
  targetCount?: number;
22
- definitionId?: string;
23
- definitionClass?: ScheduleDefinitionClass;
24
- definitionType?: ScheduleDefinitionType;
25
- scheduleGroupId?: string;
26
- scheduleGroupType?: ResourceScheduleGroupType;
27
- compiledRuleId?: string;
28
- compiledOperation?: string;
29
17
  }
30
18
  export interface ScheduleSummary extends ScheduleTargetBase {
31
19
  scheduleId: string;
@@ -67,7 +55,7 @@ export interface ScheduleHistoryItem {
67
55
  providerScopeId: string;
68
56
  message?: string;
69
57
  }
70
- export interface SchedulerBatchRunItemBase {
58
+ export interface SchedulerBatchRunItem {
71
59
  scheduleId: string;
72
60
  scheduleRunId: string;
73
61
  scheduleName?: string;
@@ -77,25 +65,13 @@ export interface SchedulerBatchRunItemBase {
77
65
  providerScopeId: string;
78
66
  cloudAccountId?: string;
79
67
  resourceId?: string;
80
- definitionId?: string;
81
- definitionClass?: ScheduleDefinitionClass;
82
- scheduleGroupId?: string;
83
- scheduleGroupType?: ResourceScheduleGroupType;
84
- compiledRuleId?: string;
85
- compiledOperation?: string;
86
- targetCount?: number;
87
- createdByUserId?: string;
88
- updatedByUserId?: string;
89
- }
90
- export interface NonBastionSchedulerBatchRunItem extends SchedulerBatchRunItemBase {
91
68
  selectedResourceIds?: string[];
92
69
  recommendationId?: string;
93
- operation?: string;
94
- actionDefinitionId?: string;
95
70
  recommendationAction?: string;
96
- definitionType?: Exclude<ScheduleDefinitionType, 'bastion-availability-weekly'>;
71
+ targetCount?: number;
72
+ createdByUserId?: string;
73
+ updatedByUserId?: string;
97
74
  }
98
- export type SchedulerBatchRunItem = NonBastionSchedulerBatchRunItem | BastionScheduleRun;
99
75
  export interface SchedulerBatchQueueMessage {
100
76
  batchId: string;
101
77
  companyId: string;
@@ -118,19 +94,10 @@ export interface BaseScheduleWriteRequest {
118
94
  resourceId?: string;
119
95
  recommendationId?: string;
120
96
  recommendationAction?: string;
121
- operation?: string;
122
- actionDefinitionId?: string;
123
97
  targetCount?: number;
124
98
  selectedResourceIds?: string[];
125
99
  notes?: string;
126
100
  configuration?: Record<string, unknown>;
127
- definitionId?: string;
128
- definitionClass?: ScheduleDefinitionClass;
129
- definitionType?: ScheduleDefinitionType;
130
- scheduleGroupId?: string;
131
- scheduleGroupType?: ResourceScheduleGroupType;
132
- compiledRuleId?: string;
133
- compiledOperation?: string;
134
101
  }
135
102
  export interface OnceScheduleWriteRequest extends BaseScheduleWriteRequest {
136
103
  scheduleType: 'once';
@@ -144,124 +111,4 @@ export interface RecurringScheduleWriteRequest extends BaseScheduleWriteRequest
144
111
  status?: ScheduleStatus;
145
112
  }
146
113
  export type ScheduleWriteRequest = OnceScheduleWriteRequest | RecurringScheduleWriteRequest;
147
- export type ResourceScheduleStatus = ScheduleStatus;
148
- export type VmRuntimeOperation = 'start' | 'deallocate';
149
- export type WeekdayNumber = 0 | 1 | 2 | 3 | 4 | 5 | 6;
150
- export interface VmRuntimeWeeklyRule {
151
- ruleId: string;
152
- daysOfWeek: WeekdayNumber[];
153
- timeLocal: string;
154
- }
155
- export interface VmRuntimePreDeallocateGuardPolicy {
156
- enabled: boolean;
157
- metric: 'cpu';
158
- thresholdPercent: number;
159
- lookbackMinutes: number;
160
- deferMinutes: number;
161
- maxDeferralsPerDay?: number;
162
- }
163
- export interface ResourceScheduleExecutionPolicy {
164
- preDeallocateGuard?: VmRuntimePreDeallocateGuardPolicy;
165
- }
166
- export interface VmRuntimeWeeklyConfiguration {
167
- startRules: VmRuntimeWeeklyRule[];
168
- deallocateRules: VmRuntimeWeeklyRule[];
169
- }
170
- export interface ResourceScheduleDefinitionBase {
171
- definitionId: string;
172
- definitionClass: ScheduleDefinitionClass;
173
- definitionType: ScheduleDefinitionType;
174
- companyId: string;
175
- providerName: string;
176
- providerScopeId: string;
177
- cloudAccountId?: string;
178
- resourceId?: string;
179
- targetResourceType: string;
180
- name: string;
181
- timezone: string;
182
- status: ResourceScheduleStatus;
183
- notes?: string;
184
- executionPolicy?: ResourceScheduleExecutionPolicy;
185
- compiledScheduleIds?: string[];
186
- nextRunUtc?: string;
187
- lastRunAtUtc?: string;
188
- lastSuccessfulRunAtUtc?: string;
189
- lastRunStatus?: ScheduleRunStatus;
190
- createdAtUtc: string;
191
- updatedAtUtc: string;
192
- createdByUserId?: string;
193
- updatedByUserId?: string;
194
- }
195
- export interface AtomicResourceScheduleDefinition extends ResourceScheduleDefinitionBase {
196
- definitionClass: 'atomic';
197
- definitionType: 'recommendation-action' | 'resource-operation';
198
- scheduleId?: string;
199
- targetType: Extract<ScheduleTargetType, 'recommendation-action' | 'resource-operation'>;
200
- selectorType: Extract<ScheduleSelectorType, 'single-resource' | 'selected-resources' | 'provider-scope'>;
201
- scheduleType: ScheduleType;
202
- localDateTime?: string;
203
- cronExpression?: string;
204
- recommendationId?: string;
205
- recommendationAction?: string;
206
- operation?: string;
207
- actionDefinitionId?: string;
208
- targetCount?: number;
209
- selectedResourceIds?: string[];
210
- configuration?: Record<string, unknown>;
211
- }
212
- export interface VmRuntimeWeeklyScheduleDefinition extends ResourceScheduleDefinitionBase {
213
- definitionClass: 'composite';
214
- definitionType: 'vm-runtime-weekly';
215
- resourceId: string;
216
- targetResourceType: 'Microsoft.Compute/virtualMachines';
217
- configuration: VmRuntimeWeeklyConfiguration;
218
- }
219
- export type ResourceScheduleDefinition = AtomicResourceScheduleDefinition | VmRuntimeWeeklyScheduleDefinition | BastionAvailabilityWeeklyScheduleDefinition;
220
- export interface ResourceScheduleListResponse {
221
- results: ResourceScheduleDefinition[];
222
- continuation?: {
223
- nextPartitionKey?: string;
224
- nextRowKey?: string;
225
- };
226
- }
227
- export interface AtomicResourceScheduleWriteRequest {
228
- definitionClass?: 'atomic';
229
- definitionType: 'recommendation-action' | 'resource-operation';
230
- name: string;
231
- providerName: string;
232
- providerScopeId: string;
233
- cloudAccountId?: string;
234
- resourceId?: string;
235
- targetResourceType: string;
236
- timezone?: string;
237
- notes?: string;
238
- executionPolicy?: ResourceScheduleExecutionPolicy;
239
- targetType: Extract<ScheduleTargetType, 'recommendation-action' | 'resource-operation'>;
240
- selectorType: Extract<ScheduleSelectorType, 'single-resource' | 'selected-resources' | 'provider-scope'>;
241
- scheduleType: ScheduleType;
242
- localDateTime?: string;
243
- cronExpression?: string;
244
- recommendationId?: string;
245
- recommendationAction?: string;
246
- operation?: string;
247
- actionDefinitionId?: string;
248
- targetCount?: number;
249
- selectedResourceIds?: string[];
250
- configuration?: Record<string, unknown>;
251
- }
252
- export interface VmRuntimeWeeklyScheduleWriteRequest {
253
- definitionClass?: 'composite';
254
- definitionType: 'vm-runtime-weekly';
255
- name: string;
256
- providerName: string;
257
- providerScopeId: string;
258
- cloudAccountId?: string;
259
- resourceId: string;
260
- targetResourceType?: 'Microsoft.Compute/virtualMachines';
261
- timezone?: string;
262
- notes?: string;
263
- executionPolicy?: ResourceScheduleExecutionPolicy;
264
- configuration: VmRuntimeWeeklyConfiguration;
265
- }
266
- export type ResourceScheduleDefinitionWriteRequest = AtomicResourceScheduleWriteRequest | VmRuntimeWeeklyScheduleWriteRequest | BastionAvailabilityWeeklyScheduleWriteRequest;
267
114
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { ResourceScheduleWeekday, ResourceStrategyWeeklyRule } from './resourceStrategy';
2
+ export interface WeeklyAvailabilityFixtureBoundary {
3
+ dayOfWeek: ResourceScheduleWeekday;
4
+ timeLocal: string;
5
+ }
6
+ export interface WeeklyAvailabilityFixturePeriod {
7
+ periodKey: string;
8
+ start: WeeklyAvailabilityFixtureBoundary;
9
+ end: WeeklyAvailabilityFixtureBoundary;
10
+ }
11
+ export interface WeeklyAvailabilityStateSample {
12
+ instantUtc: string;
13
+ expectedState: 'normal' | 'reduced';
14
+ }
15
+ export interface WeeklyAvailabilityFixtureV1 {
16
+ caseId: string;
17
+ timezone: string;
18
+ validity: 'valid' | 'invalid';
19
+ periods: readonly WeeklyAvailabilityFixturePeriod[];
20
+ expectedRules?: readonly ResourceStrategyWeeklyRule[];
21
+ stateSamples?: readonly WeeklyAvailabilityStateSample[];
22
+ invalidReason?: 'overlap' | 'conflicting-transition';
23
+ dstPolicy?: 'spring-forward-first-valid' | 'fall-back-restore-first' | 'fall-back-reduce-second';
24
+ }
25
+ export declare const WEEKLY_AVAILABILITY_FIXTURES_V1: readonly WeeklyAvailabilityFixtureV1[];
26
+ //# sourceMappingURL=weeklyAvailabilityFixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weeklyAvailabilityFixtures.d.ts","sourceRoot":"","sources":["../../src/scheduler/weeklyAvailabilityFixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAE1H,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iCAAiC,CAAC;IACzC,GAAG,EAAE,iCAAiC,CAAC;CACxC;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACpD,aAAa,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACtD,YAAY,CAAC,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACxD,aAAa,CAAC,EAAE,SAAS,GAAG,wBAAwB,CAAC;IACrD,SAAS,CAAC,EAAE,4BAA4B,GAAG,yBAAyB,GAAG,yBAAyB,CAAC;CAClG;AAoJD,eAAO,MAAM,+BAA+B,EAAE,SAAS,2BAA2B,EAAyB,CAAC"}