@epam/ai-dial-scheduled-tasks 1.2.0-dev.98 → 1.2.0-rc.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/components/ScheduledTaskCard/ScheduledTaskCard.d.ts +6 -5
- package/components/ScheduledTaskCard/ScheduledTaskCard.d.ts.map +1 -1
- package/components/ScheduledTaskConfigurationSection/ScheduledTaskConfigurationSection.d.ts +1 -1
- package/components/ScheduledTaskConfigurationSection/ScheduledTaskConfigurationSection.d.ts.map +1 -1
- package/components/ScheduledTaskCreateForm/ScheduledTaskCreateForm.d.ts.map +1 -1
- package/components/ScheduledTaskDeleteConfirmation/ScheduledTaskDeleteConfirmation.d.ts +39 -7
- package/components/ScheduledTaskDeleteConfirmation/ScheduledTaskDeleteConfirmation.d.ts.map +1 -1
- package/components/ScheduledTaskDetailView/ScheduledTaskDetailView.d.ts.map +1 -1
- package/components/ScheduledTaskDetailsSection/ScheduledTaskDetailsSection.d.ts.map +1 -1
- package/components/ScheduledTaskDetailsSummary/ScheduledTaskDetailsSummary.d.ts.map +1 -1
- package/components/ScheduledTaskHistorySection/ScheduledTaskHistorySection.d.ts.map +1 -1
- package/components/ScheduledTaskRunAtField/ScheduledTaskRunAtField.d.ts.map +1 -1
- package/components/ScheduledTaskRunHistoryList/ScheduledTaskRunHistoryList.d.ts.map +1 -1
- package/components/ScheduledTaskStatusPill/ScheduledTaskStatusPill.d.ts +16 -0
- package/components/ScheduledTaskStatusPill/ScheduledTaskStatusPill.d.ts.map +1 -0
- package/components/ScheduledTasks/ScheduledTasks.d.ts.map +1 -1
- package/constants/public-class-names.d.ts +2 -0
- package/constants/public-class-names.d.ts.map +1 -1
- package/index.css +2 -2
- package/index.d.ts +5 -1
- package/index.d.ts.map +1 -1
- package/index.js +855 -659
- package/models/scheduled-task-card-props.d.ts +6 -5
- package/models/scheduled-task-card-props.d.ts.map +1 -1
- package/models/scheduled-task-configuration-section-props.d.ts +7 -0
- package/models/scheduled-task-configuration-section-props.d.ts.map +1 -1
- package/models/scheduled-task-create-form-props.d.ts +36 -2
- package/models/scheduled-task-create-form-props.d.ts.map +1 -1
- package/models/scheduled-task-detail-view-props.d.ts +32 -3
- package/models/scheduled-task-detail-view-props.d.ts.map +1 -1
- package/models/scheduled-task-details-section-props.d.ts +4 -0
- package/models/scheduled-task-details-section-props.d.ts.map +1 -1
- package/models/scheduled-task-details-summary-props.d.ts +7 -0
- package/models/scheduled-task-details-summary-props.d.ts.map +1 -1
- package/models/scheduled-task-history-section-props.d.ts +6 -0
- package/models/scheduled-task-history-section-props.d.ts.map +1 -1
- package/models/scheduled-task-instructions.d.ts +18 -0
- package/models/scheduled-task-instructions.d.ts.map +1 -0
- package/models/scheduled-task-item.d.ts +14 -1
- package/models/scheduled-task-item.d.ts.map +1 -1
- package/models/scheduled-task-run-history-list-props.d.ts +5 -0
- package/models/scheduled-task-run-history-list-props.d.ts.map +1 -1
- package/package.json +4 -4
- package/types/scheduled-task-status.d.ts +15 -0
- package/types/scheduled-task-status.d.ts.map +1 -0
- package/utils/scheduled-task-form-values.d.ts +4 -0
- package/utils/scheduled-task-form-values.d.ts.map +1 -0
- package/utils/scheduled-task-status.d.ts +5 -0
- package/utils/scheduled-task-status.d.ts.map +1 -0
- package/validation/index.d.ts +2 -2
- package/validation/index.d.ts.map +1 -1
- package/validation/scheduled-task-validation.d.ts +30 -2
- package/validation/scheduled-task-validation.d.ts.map +1 -1
- package/validation.js +24 -11
|
@@ -2,8 +2,18 @@ import { ScheduledTaskCreateFormValues } from '../models/scheduled-task-create-f
|
|
|
2
2
|
/** Stable error codes that a host translates at its application boundary. */
|
|
3
3
|
export declare enum ScheduledTaskValidationErrorCode {
|
|
4
4
|
DisplayNameRequired = "displayNameRequired",
|
|
5
|
+
/** The display name exceeds the shared entity-name length limit. */
|
|
6
|
+
DisplayNameTooLong = "displayNameTooLong",
|
|
7
|
+
/** The display name contains a control character (line break, tab, …). */
|
|
8
|
+
DisplayNameControlCharacters = "displayNameControlCharacters",
|
|
5
9
|
ModelRequired = "modelRequired",
|
|
6
10
|
PromptRequired = "promptRequired",
|
|
11
|
+
/** The instructions exceed the shared instructions length limit. */
|
|
12
|
+
PromptTooLong = "promptTooLong",
|
|
13
|
+
/** Neither instructions nor a skill was provided. */
|
|
14
|
+
InstructionsOrSkillRequired = "instructionsOrSkillRequired",
|
|
15
|
+
/** A selected skill requires explicit capability support. */
|
|
16
|
+
SkillUnsupported = "skillUnsupported",
|
|
7
17
|
DescriptionTooLong = "descriptionTooLong",
|
|
8
18
|
RunAtInvalid = "runAtInvalid",
|
|
9
19
|
TimeInvalid = "timeInvalid",
|
|
@@ -11,7 +21,11 @@ export declare enum ScheduledTaskValidationErrorCode {
|
|
|
11
21
|
DayOfWeekInvalid = "dayOfWeekInvalid",
|
|
12
22
|
DayOfMonthInvalid = "dayOfMonthInvalid",
|
|
13
23
|
StartDateInvalid = "startDateInvalid",
|
|
14
|
-
|
|
24
|
+
/** The activity-window start date is earlier than the injected clock's local today and differs from the option's original. */
|
|
25
|
+
StartDateInPast = "startDateInPast",
|
|
26
|
+
EndDateInvalid = "endDateInvalid",
|
|
27
|
+
/** The activity-window end date is earlier than the injected clock's local today and differs from the option's original. */
|
|
28
|
+
EndDateInPast = "endDateInPast"
|
|
15
29
|
}
|
|
16
30
|
/** Field-keyed validation result for scheduled-task create and edit values. */
|
|
17
31
|
export type ScheduledTaskValidationErrors = Partial<Record<keyof ScheduledTaskCreateFormValues, ScheduledTaskValidationErrorCode>>;
|
|
@@ -19,11 +33,25 @@ export type ScheduledTaskValidationErrors = Partial<Record<keyof ScheduledTaskCr
|
|
|
19
33
|
export interface ScheduledTaskValidationOptions {
|
|
20
34
|
now: Date;
|
|
21
35
|
minimumLeadMs?: number;
|
|
36
|
+
/** Explicit capability of the draft's selected model; omitted means unsupported. */
|
|
37
|
+
isSkillsSupported?: boolean;
|
|
38
|
+
/** Activity-window start date the edit form was hydrated with, in the form's local `YYYY-MM-DD` shape; an unchanged original is exempt from the past-date rule. */
|
|
39
|
+
originalStartDate?: string;
|
|
40
|
+
/** Activity-window end date the edit form was hydrated with, in the form's local `YYYY-MM-DD` shape; an unchanged original is exempt from the past-date rule. */
|
|
41
|
+
originalEndDate?: string;
|
|
22
42
|
}
|
|
43
|
+
/** Scheduled-task form fields that carry free text with a length limit. */
|
|
44
|
+
export type ScheduledTaskTextField = 'displayName' | 'description' | 'prompt';
|
|
45
|
+
/**
|
|
46
|
+
* Checks one free-text field against its length limit (and, for the display
|
|
47
|
+
* name, control characters) as the BFF will see it — trimmed. An empty value
|
|
48
|
+
* passes; required checks live in `validateScheduledTaskFormValues`.
|
|
49
|
+
*/
|
|
50
|
+
export declare const validateScheduledTaskTextField: (field: ScheduledTaskTextField, value: string | undefined) => ScheduledTaskValidationErrorCode | undefined;
|
|
23
51
|
/**
|
|
24
52
|
* Validates only the fields active for the selected repeat cadence. This pure
|
|
25
53
|
* function deliberately has no translation, DOM, network, or implicit-clock
|
|
26
54
|
* dependencies so both application forms and request preparation agree.
|
|
27
55
|
*/
|
|
28
|
-
export declare const validateScheduledTaskFormValues: (values: ScheduledTaskCreateFormValues, { now, minimumLeadMs, }: ScheduledTaskValidationOptions) => ScheduledTaskValidationErrors;
|
|
56
|
+
export declare const validateScheduledTaskFormValues: (values: ScheduledTaskCreateFormValues, { now, minimumLeadMs, isSkillsSupported, originalStartDate, originalEndDate, }: ScheduledTaskValidationOptions) => ScheduledTaskValidationErrors;
|
|
29
57
|
//# sourceMappingURL=scheduled-task-validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduled-task-validation.d.ts","sourceRoot":"","sources":["../../src/validation/scheduled-task-validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheduled-task-validation.d.ts","sourceRoot":"","sources":["../../src/validation/scheduled-task-validation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAIhG,6EAA6E;AAC7E,oBAAY,gCAAgC;IAC1C,mBAAmB,wBAAwB;IAC3C,oEAAoE;IACpE,kBAAkB,uBAAuB;IACzC,0EAA0E;IAC1E,4BAA4B,iCAAiC;IAC7D,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,oEAAoE;IACpE,aAAa,kBAAkB;IAC/B,qDAAqD;IACrD,2BAA2B,gCAAgC;IAC3D,6DAA6D;IAC7D,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,8HAA8H;IAC9H,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,4HAA4H;IAC5H,aAAa,kBAAkB;CAChC;AAED,+EAA+E;AAC/E,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,MAAM,CAAC,MAAM,6BAA6B,EAAE,gCAAgC,CAAC,CAC9E,CAAC;AAEF,kFAAkF;AAClF,MAAM,WAAW,8BAA8B;IAC7C,GAAG,EAAE,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mKAAmK;IACnK,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iKAAiK;IACjK,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,2EAA2E;AAC3E,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACzC,OAAO,sBAAsB,EAC7B,OAAO,MAAM,GAAG,SAAS,KACxB,gCAAgC,GAAG,SAoBrC,CAAC;AA+BF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,6BAA6B,EACrC,gFAMG,8BAA8B,KAChC,6BA+GF,CAAC"}
|
package/validation.js
CHANGED
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
import { c as e, t } from "./calendar-value-B41Uk26Z.js";
|
|
2
|
+
import { ENTITY_INSTRUCTIONS_MAX_LENGTH as n, ENTITY_NAME_MAX_LENGTH as r, exceedsMaxLength as i, hasControlCharacters as a, isSkillSelectionUnsupported as o } from "@epam/ai-dial-chat-shared";
|
|
2
3
|
//#region src/validation/scheduled-task-validation.ts
|
|
3
|
-
var
|
|
4
|
-
return e.DisplayNameRequired = "displayNameRequired", e.ModelRequired = "modelRequired", e.PromptRequired = "promptRequired", e.DescriptionTooLong = "descriptionTooLong", e.RunAtInvalid = "runAtInvalid", e.TimeInvalid = "timeInvalid", e.MinuteInvalid = "minuteInvalid", e.DayOfWeekInvalid = "dayOfWeekInvalid", e.DayOfMonthInvalid = "dayOfMonthInvalid", e.StartDateInvalid = "startDateInvalid", e.EndDateInvalid = "endDateInvalid", e;
|
|
5
|
-
}({}),
|
|
6
|
-
|
|
4
|
+
var s = /* @__PURE__ */ function(e) {
|
|
5
|
+
return e.DisplayNameRequired = "displayNameRequired", e.DisplayNameTooLong = "displayNameTooLong", e.DisplayNameControlCharacters = "displayNameControlCharacters", e.ModelRequired = "modelRequired", e.PromptRequired = "promptRequired", e.PromptTooLong = "promptTooLong", e.InstructionsOrSkillRequired = "instructionsOrSkillRequired", e.SkillUnsupported = "skillUnsupported", e.DescriptionTooLong = "descriptionTooLong", e.RunAtInvalid = "runAtInvalid", e.TimeInvalid = "timeInvalid", e.MinuteInvalid = "minuteInvalid", e.DayOfWeekInvalid = "dayOfWeekInvalid", e.DayOfMonthInvalid = "dayOfMonthInvalid", e.StartDateInvalid = "startDateInvalid", e.StartDateInPast = "startDateInPast", e.EndDateInvalid = "endDateInvalid", e.EndDateInPast = "endDateInPast", e;
|
|
6
|
+
}({}), c = (e, t) => {
|
|
7
|
+
let o = t?.trim() ?? "";
|
|
8
|
+
switch (e) {
|
|
9
|
+
case "displayName": return i(o, r) ? "displayNameTooLong" : a(o) ? "displayNameControlCharacters" : void 0;
|
|
10
|
+
case "description": return i(o, 500) ? "descriptionTooLong" : void 0;
|
|
11
|
+
case "prompt": return i(o, n) ? "promptTooLong" : void 0;
|
|
12
|
+
}
|
|
13
|
+
}, l = 6e4, u = /^(?:[0-9]|[1-5][0-9])$/, d = /^[0-6]$/, f = /^(?:[1-9]|[12][0-9]|3[01])$/, p = /^\d{4}-\d{2}-\d{2}$/, m = (e) => {
|
|
14
|
+
if (!p.test(e)) return !1;
|
|
7
15
|
let [t, n, r] = e.split("-").map(Number), i = new Date(t, n - 1, r);
|
|
8
16
|
return i.getFullYear() === t && i.getMonth() === n - 1 && i.getDate() === r;
|
|
9
|
-
},
|
|
17
|
+
}, h = (e) => {
|
|
10
18
|
let t = new Date(e).getTime();
|
|
11
19
|
return Number.isFinite(t);
|
|
12
|
-
},
|
|
13
|
-
let
|
|
14
|
-
|
|
20
|
+
}, g = (e) => String(e).padStart(2, "0"), _ = (e) => `${e.getFullYear()}-${g(e.getMonth() + 1)}-${g(e.getDate())}`, v = (n, { now: r, minimumLeadMs: i = l, isSkillsSupported: a, originalStartDate: s, originalEndDate: p }) => {
|
|
21
|
+
let g = {}, v = (e, t) => {
|
|
22
|
+
let n = c(e, t);
|
|
23
|
+
n && (g[e] = n);
|
|
24
|
+
};
|
|
25
|
+
if (n.displayName.trim() ? v("displayName", n.displayName) : g.displayName = "displayNameRequired", n.modelId.trim() || (g.modelId = "modelRequired"), !n.prompt.trim() && !n.skillUrls?.length ? g.prompt = "instructionsOrSkillRequired" : v("prompt", n.prompt), n.skillUrls?.some((e) => o(e, a)) && (g.skillUrls = "skillUnsupported"), v("description", n.description), n.repeat === e.OneTime) {
|
|
15
26
|
let e = n.runAt ? new Date(n.runAt).getTime() : NaN;
|
|
16
|
-
return (!n.runAt || !
|
|
27
|
+
return (!n.runAt || !h(n.runAt) || !Number.isFinite(e) || e < r.getTime() + i) && (g.runAt = "runAtInvalid"), g;
|
|
17
28
|
}
|
|
18
|
-
|
|
29
|
+
n.repeat === e.Hourly ? u.test(n.minute ?? "") || (g.minute = "minuteInvalid") : t.test(n.time) || (g.time = "timeInvalid"), n.repeat === e.Weekly && !d.test(n.dayOfWeek ?? "") && (g.dayOfWeek = "dayOfWeekInvalid"), n.repeat === e.Monthly && !f.test(n.dayOfMonth ?? "") && (g.dayOfMonth = "dayOfMonthInvalid"), n.startDate && !m(n.startDate) && (g.startDate = "startDateInvalid"), n.endDate && !m(n.endDate) && (g.endDate = "endDateInvalid"), n.startDate && n.endDate && m(n.startDate) && m(n.endDate) && n.endDate < n.startDate && (g.endDate = "endDateInvalid");
|
|
30
|
+
let y = _(r);
|
|
31
|
+
return n.startDate && n.startDate !== s && m(n.startDate) && n.startDate < y && (g.startDate = "startDateInPast"), n.endDate && n.endDate !== p && m(n.endDate) && n.endDate < y && (g.endDate = "endDateInPast"), g;
|
|
19
32
|
};
|
|
20
33
|
//#endregion
|
|
21
|
-
export {
|
|
34
|
+
export { s as ScheduledTaskValidationErrorCode, v as validateScheduledTaskFormValues, c as validateScheduledTaskTextField };
|