@uipath/apollo-react 6.47.4 → 6.49.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.
Files changed (57) hide show
  1. package/dist/canvas/components/Guardrails/__fixtures__/catalog-coverage.cjs +83 -0
  2. package/dist/canvas/components/Guardrails/__fixtures__/catalog-coverage.d.ts +8 -0
  3. package/dist/canvas/components/Guardrails/__fixtures__/catalog-coverage.d.ts.map +1 -0
  4. package/dist/canvas/components/Guardrails/__fixtures__/catalog-coverage.js +37 -0
  5. package/dist/canvas/components/Guardrails/__fixtures__/definitions-wire.fixtures.cjs +344 -0
  6. package/dist/canvas/components/Guardrails/__fixtures__/definitions-wire.fixtures.d.ts +13 -0
  7. package/dist/canvas/components/Guardrails/__fixtures__/definitions-wire.fixtures.d.ts.map +1 -0
  8. package/dist/canvas/components/Guardrails/__fixtures__/definitions-wire.fixtures.js +280 -0
  9. package/dist/canvas/components/Guardrails/__fixtures__/host-copy-baselines.cjs +221 -0
  10. package/dist/canvas/components/Guardrails/__fixtures__/host-copy-baselines.d.ts +4 -0
  11. package/dist/canvas/components/Guardrails/__fixtures__/host-copy-baselines.d.ts.map +1 -0
  12. package/dist/canvas/components/Guardrails/__fixtures__/host-copy-baselines.js +184 -0
  13. package/dist/canvas/components/Guardrails/builder-types.d.ts.map +1 -1
  14. package/dist/canvas/components/Guardrails/components/guardrail-chip.cjs +5 -1
  15. package/dist/canvas/components/Guardrails/components/guardrail-chip.d.ts +1 -0
  16. package/dist/canvas/components/Guardrails/components/guardrail-chip.d.ts.map +1 -1
  17. package/dist/canvas/components/Guardrails/components/guardrail-chip.js +3 -2
  18. package/dist/canvas/components/Guardrails/components/guardrail-status-chip.cjs +60 -0
  19. package/dist/canvas/components/Guardrails/components/guardrail-status-chip.d.ts +7 -0
  20. package/dist/canvas/components/Guardrails/components/guardrail-status-chip.d.ts.map +1 -0
  21. package/dist/canvas/components/Guardrails/components/guardrail-status-chip.js +26 -0
  22. package/dist/canvas/components/Guardrails/definitions-copy.cjs +369 -0
  23. package/dist/canvas/components/Guardrails/definitions-copy.d.ts +14 -0
  24. package/dist/canvas/components/Guardrails/definitions-copy.d.ts.map +1 -0
  25. package/dist/canvas/components/Guardrails/definitions-copy.js +326 -0
  26. package/dist/canvas/components/Guardrails/definitions-enrich.cjs +173 -0
  27. package/dist/canvas/components/Guardrails/definitions-enrich.d.ts +30 -0
  28. package/dist/canvas/components/Guardrails/definitions-enrich.d.ts.map +1 -0
  29. package/dist/canvas/components/Guardrails/definitions-enrich.js +130 -0
  30. package/dist/canvas/components/Guardrails/definitions-parse.cjs +199 -0
  31. package/dist/canvas/components/Guardrails/definitions-parse.d.ts +13 -0
  32. package/dist/canvas/components/Guardrails/definitions-parse.d.ts.map +1 -0
  33. package/dist/canvas/components/Guardrails/definitions-parse.js +165 -0
  34. package/dist/canvas/components/Guardrails/definitions-wire.cjs +18 -0
  35. package/dist/canvas/components/Guardrails/definitions-wire.d.ts +59 -0
  36. package/dist/canvas/components/Guardrails/definitions-wire.d.ts.map +1 -0
  37. package/dist/canvas/components/Guardrails/definitions-wire.js +0 -0
  38. package/dist/canvas/components/Guardrails/i18n.d.ts.map +1 -1
  39. package/dist/canvas/components/Guardrails/index.cjs +49 -8
  40. package/dist/canvas/components/Guardrails/index.d.ts +11 -0
  41. package/dist/canvas/components/Guardrails/index.d.ts.map +1 -1
  42. package/dist/canvas/components/Guardrails/index.js +6 -1
  43. package/dist/canvas/components/Guardrails/types.d.ts.map +1 -1
  44. package/dist/canvas/components/Guardrails/use-guardrail-definitions.cjs +158 -0
  45. package/dist/canvas/components/Guardrails/use-guardrail-definitions.d.ts +30 -0
  46. package/dist/canvas/components/Guardrails/use-guardrail-definitions.d.ts.map +1 -0
  47. package/dist/canvas/components/Guardrails/use-guardrail-definitions.js +121 -0
  48. package/dist/canvas/components/JsonTree/JsonContainerEditor.cjs +1 -1
  49. package/dist/canvas/components/JsonTree/JsonContainerEditor.js +1 -1
  50. package/dist/canvas/components/NodePropertyPanel/PanelField.cjs +1 -1
  51. package/dist/canvas/components/NodePropertyPanel/PanelField.d.ts.map +1 -1
  52. package/dist/canvas/components/NodePropertyPanel/PanelField.js +1 -1
  53. package/dist/canvas/locales/en.cjs +1 -1
  54. package/dist/canvas/locales/en.d.ts.map +1 -1
  55. package/dist/canvas/locales/en.js +1 -1
  56. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  57. package/package.json +3 -3
@@ -1,9 +1,14 @@
1
1
  import { GUARDRAIL_BYO_VALIDATOR_TYPE, GuardrailRecipientType } from "./builder-types.js";
2
2
  import { createDefaultGuardrailAction, generateGuardrailId, getGuardrailActionErrorFields, getGuardrailSelectorErrorFields, initGuardrailBuilderFormData } from "./builder-utils.js";
3
3
  import { GuardrailChip, guardrailChipVariants } from "./components/guardrail-chip.js";
4
+ import { GuardrailStatusChip } from "./components/guardrail-status-chip.js";
5
+ import { CURATED_GUARDRAIL_VALIDATORS, GUARDRAIL_COPY_EN, GUARDRAIL_COPY_EN_MESSAGES, useGuardrailDefinitionCopy } from "./definitions-copy.js";
6
+ import { enrichGuardrailDefinitions, humanizeGuardrailParameterId, isByoGuardrailDefinition, withGuardrailFolderMetadata } from "./definitions-enrich.js";
7
+ import { parseGuardrailDefinitions } from "./definitions-parse.js";
4
8
  import { GuardrailBuilder } from "./guardrail-builder.js";
5
9
  import { GuardrailFormLayout } from "./guardrail-form-layout.js";
6
10
  import { GuardrailValidatorForm } from "./guardrail-validator-form.js";
7
11
  import { GUARDRAIL_BUILDER_EN_LABELS, GUARDRAIL_FORM_EN_LABELS, formatGuardrailFormMessage, resolveGuardrailBuilderLabels, resolveGuardrailFormLabels, useGuardrailBuilderLabels, useGuardrailFormLabels } from "./i18n.js";
12
+ import { GUARDRAIL_DEFINITIONS_PATH, useGuardrailDefinitions } from "./use-guardrail-definitions.js";
8
13
  import { dropEmptyOptionalParameters, getOutOfRangeParameterIds, getRequiredEmptyParameterIds, seedGuardrailParameters, syncMapEnumParameters } from "./utils.js";
9
- export { GUARDRAIL_BUILDER_EN_LABELS, GUARDRAIL_BYO_VALIDATOR_TYPE, GUARDRAIL_FORM_EN_LABELS, GuardrailBuilder, GuardrailChip, GuardrailFormLayout, GuardrailRecipientType, GuardrailValidatorForm, createDefaultGuardrailAction, dropEmptyOptionalParameters, formatGuardrailFormMessage, generateGuardrailId, getGuardrailActionErrorFields, getGuardrailSelectorErrorFields, getOutOfRangeParameterIds, getRequiredEmptyParameterIds, guardrailChipVariants, initGuardrailBuilderFormData, resolveGuardrailBuilderLabels, resolveGuardrailFormLabels, seedGuardrailParameters, syncMapEnumParameters, useGuardrailBuilderLabels, useGuardrailFormLabels };
14
+ export { CURATED_GUARDRAIL_VALIDATORS, GUARDRAIL_BUILDER_EN_LABELS, GUARDRAIL_BYO_VALIDATOR_TYPE, GUARDRAIL_COPY_EN, GUARDRAIL_COPY_EN_MESSAGES, GUARDRAIL_DEFINITIONS_PATH, GUARDRAIL_FORM_EN_LABELS, GuardrailBuilder, GuardrailChip, GuardrailFormLayout, GuardrailRecipientType, GuardrailStatusChip, GuardrailValidatorForm, createDefaultGuardrailAction, dropEmptyOptionalParameters, enrichGuardrailDefinitions, formatGuardrailFormMessage, generateGuardrailId, getGuardrailActionErrorFields, getGuardrailSelectorErrorFields, getOutOfRangeParameterIds, getRequiredEmptyParameterIds, guardrailChipVariants, humanizeGuardrailParameterId, initGuardrailBuilderFormData, isByoGuardrailDefinition, parseGuardrailDefinitions, resolveGuardrailBuilderLabels, resolveGuardrailFormLabels, seedGuardrailParameters, syncMapEnumParameters, useGuardrailBuilderLabels, useGuardrailDefinitionCopy, useGuardrailDefinitions, useGuardrailFormLabels, withGuardrailFolderMetadata };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Guardrails/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Guardrails/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AAQ3D,MAAM,MAAM,2BAA2B,GACnC;IAAE,cAAc,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,cAAc,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACzD;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,cAAc,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5D;IAAE,cAAc,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5D;IAAE,cAAc,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;AAWnF,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,sBAAsB,CAAC;IAE7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,4BAA4B,CAAC;IAEzC,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAExD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAE1C,aAAa,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAKrE,kBAAkB,EAAE,CAAC,UAAU,EAAE,2BAA2B,EAAE,KAAK,IAAI,CAAC;CACzE;AAED,MAAM,WAAW,2BAA2B;IAE1C,oBAAoB,EAAE,4BAA4B,EAAE,CAAC;IAErD,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAE1C,QAAQ,EAAE,CAAC,UAAU,EAAE,2BAA2B,EAAE,KAAK,IAAI,CAAC;IAY9D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IASzC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,+BAA+B,KAAK,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAaxF,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAezC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,MAAM,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ GUARDRAIL_DEFINITIONS_PATH: ()=>GUARDRAIL_DEFINITIONS_PATH,
28
+ useGuardrailDefinitions: ()=>useGuardrailDefinitions
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ const external_definitions_copy_cjs_namespaceObject = require("./definitions-copy.cjs");
32
+ const external_definitions_enrich_cjs_namespaceObject = require("./definitions-enrich.cjs");
33
+ const external_definitions_parse_cjs_namespaceObject = require("./definitions-parse.cjs");
34
+ const GUARDRAIL_DEFINITIONS_PATH = '/api/execution/guardrails/definitions';
35
+ const EMPTY_RESULT = {
36
+ definitions: [],
37
+ invalid: []
38
+ };
39
+ const NOTHING_SETTLED = {
40
+ key: 'none',
41
+ result: EMPTY_RESULT,
42
+ error: null
43
+ };
44
+ function useGuardrailDefinitions(ctx, options = {}) {
45
+ const { definitions: provided, hiddenValidators, copy: copyOverride, enabled: enabledOption = true } = options;
46
+ const linguiCopy = (0, external_definitions_copy_cjs_namespaceObject.useGuardrailDefinitionCopy)();
47
+ const copy = copyOverride ?? linguiCopy;
48
+ const requestKey = null === ctx ? '' : JSON.stringify({
49
+ baseUrl: ctx.baseUrl,
50
+ token: ctx.token,
51
+ tenantId: ctx.tenantId,
52
+ accountId: ctx.accountId,
53
+ headers: ctx.headers
54
+ });
55
+ const request = (0, external_react_namespaceObject.useMemo)(()=>'' === requestKey ? null : JSON.parse(requestKey), [
56
+ requestKey
57
+ ]);
58
+ const fetchRef = (0, external_react_namespaceObject.useRef)(ctx?.fetch);
59
+ fetchRef.current = ctx?.fetch;
60
+ const enabled = enabledOption && void 0 === provided && null !== request;
61
+ const [settled, setSettled] = (0, external_react_namespaceObject.useState)(NOTHING_SETTLED);
62
+ const [inFlight, setInFlight] = (0, external_react_namespaceObject.useState)(false);
63
+ const abortRef = (0, external_react_namespaceObject.useRef)(null);
64
+ const isCurrent = enabled && settled.key === requestKey;
65
+ const fetched = isCurrent ? settled.result : EMPTY_RESULT;
66
+ const error = isCurrent ? settled.error : null;
67
+ const loading = enabled && (inFlight || !isCurrent);
68
+ const load = (0, external_react_namespaceObject.useCallback)(async ()=>{
69
+ if (!enabled || null === request) return;
70
+ abortRef.current?.abort();
71
+ const controller = new AbortController();
72
+ abortRef.current = controller;
73
+ const key = requestKey;
74
+ setInFlight(true);
75
+ const base = (request.baseUrl ?? '').replace(/\/$/, '');
76
+ const headers = {
77
+ Accept: 'application/json',
78
+ 'X-UiPath-Internal-TenantId': request.tenantId
79
+ };
80
+ if (request.token) headers.Authorization = `Bearer ${request.token}`;
81
+ if (request.accountId) headers['X-UiPath-Internal-AccountId'] = request.accountId;
82
+ Object.assign(headers, request.headers);
83
+ const doFetch = fetchRef.current ?? ((input, init)=>globalThis.fetch(input, init));
84
+ try {
85
+ const response = await doFetch(`${base}${GUARDRAIL_DEFINITIONS_PATH}`, {
86
+ headers,
87
+ signal: controller.signal
88
+ });
89
+ if (!response.ok) throw new Error(`Guardrail definitions API ${response.status} ${response.statusText}`);
90
+ const payload = await response.json();
91
+ if (!controller.signal.aborted) setSettled({
92
+ key,
93
+ result: (0, external_definitions_parse_cjs_namespaceObject.parseGuardrailDefinitions)(payload),
94
+ error: null
95
+ });
96
+ } catch (err) {
97
+ if (err?.name === 'AbortError') return;
98
+ if (!controller.signal.aborted) setSettled((prev)=>({
99
+ key,
100
+ result: prev.key === key ? prev.result : EMPTY_RESULT,
101
+ error: err instanceof Error ? err : new Error(String(err))
102
+ }));
103
+ } finally{
104
+ if (!controller.signal.aborted) setInFlight(false);
105
+ }
106
+ }, [
107
+ enabled,
108
+ request,
109
+ requestKey
110
+ ]);
111
+ (0, external_react_namespaceObject.useEffect)(()=>{
112
+ if (!enabled) {
113
+ abortRef.current?.abort();
114
+ setInFlight(false);
115
+ setSettled((prev)=>prev === NOTHING_SETTLED ? prev : NOTHING_SETTLED);
116
+ return;
117
+ }
118
+ load();
119
+ return ()=>abortRef.current?.abort();
120
+ }, [
121
+ enabled,
122
+ load
123
+ ]);
124
+ const parsed = (0, external_react_namespaceObject.useMemo)(()=>void 0 === provided ? fetched : (0, external_definitions_parse_cjs_namespaceObject.parseGuardrailDefinitions)(provided), [
125
+ provided,
126
+ fetched
127
+ ]);
128
+ const hiddenValidatorsKey = (hiddenValidators ?? []).join('\u0000');
129
+ const stableHiddenValidators = (0, external_react_namespaceObject.useMemo)(()=>'' === hiddenValidatorsKey ? [] : hiddenValidatorsKey.split('\u0000'), [
130
+ hiddenValidatorsKey
131
+ ]);
132
+ const definitions = (0, external_react_namespaceObject.useMemo)(()=>(0, external_definitions_enrich_cjs_namespaceObject.enrichGuardrailDefinitions)(parsed.definitions, {
133
+ copy,
134
+ hiddenValidators: stableHiddenValidators
135
+ }), [
136
+ parsed.definitions,
137
+ copy,
138
+ stableHiddenValidators
139
+ ]);
140
+ return {
141
+ definitions,
142
+ wire: parsed.definitions,
143
+ invalid: parsed.invalid,
144
+ inputError: parsed.inputError,
145
+ loading,
146
+ error,
147
+ refetch: load
148
+ };
149
+ }
150
+ exports.GUARDRAIL_DEFINITIONS_PATH = __webpack_exports__.GUARDRAIL_DEFINITIONS_PATH;
151
+ exports.useGuardrailDefinitions = __webpack_exports__.useGuardrailDefinitions;
152
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
153
+ "GUARDRAIL_DEFINITIONS_PATH",
154
+ "useGuardrailDefinitions"
155
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
156
+ Object.defineProperty(exports, '__esModule', {
157
+ value: true
158
+ });
@@ -0,0 +1,30 @@
1
+ import { type GuardrailCopyTable } from './definitions-copy';
2
+ import { type EnrichedGuardrailDefinition } from './definitions-enrich';
3
+ import { type GuardrailDefinitionParseIssue } from './definitions-parse';
4
+ import type { GuardrailDefinitionWire } from './definitions-wire';
5
+ export declare const GUARDRAIL_DEFINITIONS_PATH = "/api/execution/guardrails/definitions";
6
+ export interface GuardrailDefinitionsRequestContext {
7
+ baseUrl?: string;
8
+ token?: string;
9
+ tenantId: string;
10
+ accountId?: string;
11
+ headers?: Record<string, string>;
12
+ fetch?: typeof fetch;
13
+ }
14
+ export interface UseGuardrailDefinitionsOptions {
15
+ definitions?: unknown;
16
+ hiddenValidators?: readonly string[];
17
+ copy?: GuardrailCopyTable;
18
+ enabled?: boolean;
19
+ }
20
+ export interface UseGuardrailDefinitionsResult {
21
+ definitions: EnrichedGuardrailDefinition[];
22
+ wire: GuardrailDefinitionWire[];
23
+ invalid: GuardrailDefinitionParseIssue[];
24
+ inputError?: string;
25
+ loading: boolean;
26
+ error: Error | null;
27
+ refetch: () => void;
28
+ }
29
+ export declare function useGuardrailDefinitions(ctx: GuardrailDefinitionsRequestContext | null, options?: UseGuardrailDefinitionsOptions): UseGuardrailDefinitionsResult;
30
+ //# sourceMappingURL=use-guardrail-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-guardrail-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Guardrails/use-guardrail-definitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,KAAK,2BAA2B,EAA8B,MAAM,sBAAsB,CAAC;AACpG,OAAO,EACL,KAAK,6BAA6B,EAGnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,eAAO,MAAM,0BAA0B,0CAA0C,CAAC;AAElF,MAAM,WAAW,kCAAkC;IAEjD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAU7C,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAMrC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAU1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAE5C,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAE3C,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAEhC,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAEzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAsCD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,kCAAkC,GAAG,IAAI,EAC9C,OAAO,GAAE,8BAAmC,GAC3C,6BAA6B,CA+J/B"}
@@ -0,0 +1,121 @@
1
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
+ import { useGuardrailDefinitionCopy } from "./definitions-copy.js";
3
+ import { enrichGuardrailDefinitions } from "./definitions-enrich.js";
4
+ import { parseGuardrailDefinitions } from "./definitions-parse.js";
5
+ const GUARDRAIL_DEFINITIONS_PATH = '/api/execution/guardrails/definitions';
6
+ const EMPTY_RESULT = {
7
+ definitions: [],
8
+ invalid: []
9
+ };
10
+ const NOTHING_SETTLED = {
11
+ key: 'none',
12
+ result: EMPTY_RESULT,
13
+ error: null
14
+ };
15
+ function useGuardrailDefinitions(ctx, options = {}) {
16
+ const { definitions: provided, hiddenValidators, copy: copyOverride, enabled: enabledOption = true } = options;
17
+ const linguiCopy = useGuardrailDefinitionCopy();
18
+ const copy = copyOverride ?? linguiCopy;
19
+ const requestKey = null === ctx ? '' : JSON.stringify({
20
+ baseUrl: ctx.baseUrl,
21
+ token: ctx.token,
22
+ tenantId: ctx.tenantId,
23
+ accountId: ctx.accountId,
24
+ headers: ctx.headers
25
+ });
26
+ const request = useMemo(()=>'' === requestKey ? null : JSON.parse(requestKey), [
27
+ requestKey
28
+ ]);
29
+ const fetchRef = useRef(ctx?.fetch);
30
+ fetchRef.current = ctx?.fetch;
31
+ const enabled = enabledOption && void 0 === provided && null !== request;
32
+ const [settled, setSettled] = useState(NOTHING_SETTLED);
33
+ const [inFlight, setInFlight] = useState(false);
34
+ const abortRef = useRef(null);
35
+ const isCurrent = enabled && settled.key === requestKey;
36
+ const fetched = isCurrent ? settled.result : EMPTY_RESULT;
37
+ const error = isCurrent ? settled.error : null;
38
+ const loading = enabled && (inFlight || !isCurrent);
39
+ const load = useCallback(async ()=>{
40
+ if (!enabled || null === request) return;
41
+ abortRef.current?.abort();
42
+ const controller = new AbortController();
43
+ abortRef.current = controller;
44
+ const key = requestKey;
45
+ setInFlight(true);
46
+ const base = (request.baseUrl ?? '').replace(/\/$/, '');
47
+ const headers = {
48
+ Accept: 'application/json',
49
+ 'X-UiPath-Internal-TenantId': request.tenantId
50
+ };
51
+ if (request.token) headers.Authorization = `Bearer ${request.token}`;
52
+ if (request.accountId) headers['X-UiPath-Internal-AccountId'] = request.accountId;
53
+ Object.assign(headers, request.headers);
54
+ const doFetch = fetchRef.current ?? ((input, init)=>globalThis.fetch(input, init));
55
+ try {
56
+ const response = await doFetch(`${base}${GUARDRAIL_DEFINITIONS_PATH}`, {
57
+ headers,
58
+ signal: controller.signal
59
+ });
60
+ if (!response.ok) throw new Error(`Guardrail definitions API ${response.status} ${response.statusText}`);
61
+ const payload = await response.json();
62
+ if (!controller.signal.aborted) setSettled({
63
+ key,
64
+ result: parseGuardrailDefinitions(payload),
65
+ error: null
66
+ });
67
+ } catch (err) {
68
+ if (err?.name === 'AbortError') return;
69
+ if (!controller.signal.aborted) setSettled((prev)=>({
70
+ key,
71
+ result: prev.key === key ? prev.result : EMPTY_RESULT,
72
+ error: err instanceof Error ? err : new Error(String(err))
73
+ }));
74
+ } finally{
75
+ if (!controller.signal.aborted) setInFlight(false);
76
+ }
77
+ }, [
78
+ enabled,
79
+ request,
80
+ requestKey
81
+ ]);
82
+ useEffect(()=>{
83
+ if (!enabled) {
84
+ abortRef.current?.abort();
85
+ setInFlight(false);
86
+ setSettled((prev)=>prev === NOTHING_SETTLED ? prev : NOTHING_SETTLED);
87
+ return;
88
+ }
89
+ load();
90
+ return ()=>abortRef.current?.abort();
91
+ }, [
92
+ enabled,
93
+ load
94
+ ]);
95
+ const parsed = useMemo(()=>void 0 === provided ? fetched : parseGuardrailDefinitions(provided), [
96
+ provided,
97
+ fetched
98
+ ]);
99
+ const hiddenValidatorsKey = (hiddenValidators ?? []).join('\u0000');
100
+ const stableHiddenValidators = useMemo(()=>'' === hiddenValidatorsKey ? [] : hiddenValidatorsKey.split('\u0000'), [
101
+ hiddenValidatorsKey
102
+ ]);
103
+ const definitions = useMemo(()=>enrichGuardrailDefinitions(parsed.definitions, {
104
+ copy,
105
+ hiddenValidators: stableHiddenValidators
106
+ }), [
107
+ parsed.definitions,
108
+ copy,
109
+ stableHiddenValidators
110
+ ]);
111
+ return {
112
+ definitions,
113
+ wire: parsed.definitions,
114
+ invalid: parsed.invalid,
115
+ inputError: parsed.inputError,
116
+ loading,
117
+ error,
118
+ refetch: load
119
+ };
120
+ }
121
+ export { GUARDRAIL_DEFINITIONS_PATH, useGuardrailDefinitions };
@@ -59,7 +59,7 @@ function JsonContainerEditor({ node, onCommit, onCancel, renderCodeEditor, class
59
59
  }
60
60
  };
61
61
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
62
- className: (0, apollo_wind_namespaceObject.cn)('flex flex-col gap-1.5', className),
62
+ className: (0, apollo_wind_namespaceObject.cn)('flex flex-col gap-1.5 [&>[data-slot=form-field-error]]:mt-0', className),
63
63
  children: [
64
64
  renderCodeEditor ? renderCodeEditor({
65
65
  value: raw,
@@ -31,7 +31,7 @@ function JsonContainerEditor({ node, onCommit, onCancel, renderCodeEditor, class
31
31
  }
32
32
  };
33
33
  return /*#__PURE__*/ jsxs("div", {
34
- className: cn('flex flex-col gap-1.5', className),
34
+ className: cn('flex flex-col gap-1.5 [&>[data-slot=form-field-error]]:mt-0', className),
35
35
  children: [
36
36
  renderCodeEditor ? renderCodeEditor({
37
37
  value: raw,
@@ -56,7 +56,7 @@ function PanelField({ label, htmlFor, description, error, required = false, chil
56
56
  'aria-invalid': error ? true : children.props['aria-invalid']
57
57
  }) : children;
58
58
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
59
- className: (0, apollo_wind_namespaceObject.cn)('grid gap-1.5', className),
59
+ className: (0, apollo_wind_namespaceObject.cn)('grid gap-1.5 [&>[data-slot=form-field-error]]:mt-0', className),
60
60
  "data-slot": "panel-field",
61
61
  children: [
62
62
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(PanelFieldLabel, {
@@ -1 +1 @@
1
- {"version":3,"file":"PanelField.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/NodePropertyPanel/PanelField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAEf,KAAK,iBAAiB,GAAG;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,eAAe;IAE9B,KAAK,EAAE,SAAS,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IAEtD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AASD,eAAO,MAAM,eAAe,mHAO3B,CAAC;AAkBF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,WAAW,EACX,KAAK,EACL,QAAgB,EAChB,QAAQ,EACR,SAAS,GACV,EAAE,eAAe,2CA8BjB"}
1
+ {"version":3,"file":"PanelField.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/NodePropertyPanel/PanelField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAEf,KAAK,iBAAiB,GAAG;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,eAAe;IAE9B,KAAK,EAAE,SAAS,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IAEtD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AASD,eAAO,MAAM,eAAe,mHAO3B,CAAC;AAkBF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,WAAW,EACX,KAAK,EACL,QAAgB,EAChB,QAAQ,EACR,SAAS,GACV,EAAE,eAAe,2CAiCjB"}
@@ -27,7 +27,7 @@ function PanelField({ label, htmlFor, description, error, required = false, chil
27
27
  'aria-invalid': error ? true : children.props['aria-invalid']
28
28
  }) : children;
29
29
  return /*#__PURE__*/ jsxs("div", {
30
- className: cn('grid gap-1.5', className),
30
+ className: cn('grid gap-1.5 [&>[data-slot=form-field-error]]:mt-0', className),
31
31
  "data-slot": "panel-field",
32
32
  children: [
33
33
  /*#__PURE__*/ jsx(PanelFieldLabel, {
@@ -26,7 +26,7 @@ __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
27
  messages: ()=>messages
28
28
  });
29
- const messages = JSON.parse('{"add-node-panel.search-nodes":["Search nodes"],"canvas.json_value_panel.apply":["Apply"],"canvas.json_value_panel.array_item":["item"],"canvas.json_value_panel.cancel":["Cancel"],"canvas.json_value_panel.clear_search":["Clear search"],"canvas.json_value_panel.collapse_all":["Collapse all"],"canvas.json_value_panel.collapse_key":["Collapse ",["key"]],"canvas.json_value_panel.copy_path_for":["Copy path for ",["path"]],"canvas.json_value_panel.copy_path_hint":["Click to copy this path"],"canvas.json_value_panel.copy_value":["Copy value"],"canvas.json_value_panel.copy_value_of":["Copy value of ",["key"]],"canvas.json_value_panel.edit_as_json":["Edit as JSON"],"canvas.json_value_panel.edit_hint":["Click to edit"],"canvas.json_value_panel.edit_json_of":["Edit JSON of ",["key"]],"canvas.json_value_panel.edit_key_as_json":["Edit ",["key"]," as JSON"],"canvas.json_value_panel.edit_value_of":["Edit value of ",["key"]],"canvas.json_value_panel.empty_default":["No fields to display."],"canvas.json_value_panel.empty_search":["No fields match your search."],"canvas.json_value_panel.enter_number":["Enter a number"],"canvas.json_value_panel.enter_value":["Enter a value"],"canvas.json_value_panel.expand_all":["Expand all"],"canvas.json_value_panel.expand_key":["Expand ",["key"]],"canvas.json_value_panel.filter":["Filter"],"canvas.json_value_panel.filter_active":["Filter: ",["label"]],"canvas.json_value_panel.filter_all":["All"],"canvas.json_value_panel.invalid_json":["Invalid JSON"],"canvas.json_value_panel.item_count":[["count","plural",{"one":["#"," item"],"other":["#"," items"]}]],"canvas.json_value_panel.json_tab":["JSON"],"canvas.json_value_panel.key_count":[["count","plural",{"one":["#"," key"],"other":["#"," keys"]}]],"canvas.json_value_panel.path_copied":["Path copied"],"canvas.json_value_panel.required_marker":["required"],"canvas.json_value_panel.schema_tab":["Schema"],"canvas.json_value_panel.search_fields":["Search fields and values..."],"canvas.json_value_panel.search_fields_action":["Search fields and values"],"canvas.json_value_panel.toggle_hint":["Click to toggle"],"canvas.json_value_panel.unset_edit_hint":["Click to set a value"],"canvas.json_value_panel.unset_value":["unset"],"canvas.json_value_panel.unwrap_value":["Unwrap value"],"canvas.json_value_panel.unwrap_value_of":["Unwrap value of ",["key"]],"canvas.json_value_panel.wrap_value":["Wrap value"],"canvas.json_value_panel.wrap_value_of":["Wrap value of ",["key"]],"canvas.node_mode_select.disabled_description":["Don\'t execute this node"],"canvas.node_mode_select.disabled_label":["Skip node"],"canvas.node_mode_select.live_description":["Use the real response from this node"],"canvas.node_mode_select.live_label":["Live"],"canvas.node_mode_select.node_mode":["Node output mode"],"canvas.node_mode_select.simulated_description":["Generate a response dynamically using an LLM"],"canvas.node_mode_select.simulated_label":["Simulated"],"canvas.node_mode_select.static_description":["Always return a value you define"],"canvas.node_mode_select.static_label":["Static mock"],"canvas.node_property_panel.close":["Close"],"canvas.node_property_panel.description_placeholder":["Description"],"canvas.node_property_panel.name_placeholder":["Name"],"canvas.node_property_panel.node_description":["Node description"],"canvas.node_property_panel.node_name":["Node name"],"canvas.property_trigger.always_persist":["Always persist"],"canvas.property_trigger.apply_preset_with_label":["Apply ",["label"]],"canvas.property_trigger.auto_hide":["Auto hide"],"canvas.property_trigger.default_layouts":["Default layouts"],"canvas.property_trigger.delete_preset_with_label":["Delete ",["label"]],"canvas.property_trigger.layout_bottom":["Default — Bottom"],"canvas.property_trigger.layout_right":["Default — Right"],"canvas.property_trigger.layout_split":["Default — Split"],"canvas.property_trigger.no_saved_presets":["No saved presets yet."],"canvas.property_trigger.panel_behavior":["Panel behavior"],"canvas.property_trigger.panel_options":["Panel options"],"canvas.property_trigger.properties":["Properties"],"canvas.property_trigger.rename_preset_with_label":["Rename ",["label"]],"canvas.property_trigger.save_as_preset":["Save as preset"],"canvas.property_trigger.saved_presets":["Saved presets"],"guardrails.builder.action-app-label":["Action App"],"guardrails.builder.action-app-required-error":["Action app is required"],"guardrails.builder.action-block-label":["Block"],"guardrails.builder.action-escalate-label":["Escalate"],"guardrails.builder.action-filter-label":["Filter"],"guardrails.builder.action-log-label":["Log"],"guardrails.builder.action-type-label":["Action type"],"guardrails.builder.add-title":["Add ",["name"]," guardrail"],"guardrails.builder.app-picker-unavailable":["App picker unavailable — requires Studio Web host."],"guardrails.builder.assign-to-label":["Assign to"],"guardrails.builder.block-reason-label":["Blocking reason"],"guardrails.builder.block-reason-placeholder":["Enter reason for blocking"],"guardrails.builder.block-reason-required-error":["Block reason is required"],"guardrails.builder.byo-disabled-message":["This guardrail\'s configuration has been disabled and can no longer be used. Contact your administrator to re-enable the configuration or replace this guardrail before running the agent."],"guardrails.builder.cancel":["Cancel"],"guardrails.builder.description-label":["Guardrail description"],"guardrails.builder.description-placeholder":["Enter guardrail description"],"guardrails.builder.edit-title":["Edit ",["name"]," guardrail"],"guardrails.builder.email-placeholder":["Enter email address"],"guardrails.builder.evals-info-aria-label":["More information"],"guardrails.builder.evals-label":["Enable guardrail for evaluations"],"guardrails.builder.evals-tooltip":["When enabled, this guardrail will be applied during evaluation runs."],"guardrails.builder.feature-disabled-message":["This guardrail feature is disabled. You can access the configuration settings, but modifications cannot be saved. It is best to remove this guardrail as long as the feature is disabled."],"guardrails.builder.filter-fields-required-error":["Fields selection is required"],"guardrails.builder.group-name-placeholder":["Enter group name"],"guardrails.builder.group-search-placeholder":["Search for a group..."],"guardrails.builder.mixed-scopes-also-applied":["This guardrail is also applied to:"],"guardrails.builder.mixed-scopes-save-as-new-hint":["Use \\"Save as new\\" to create a separate copy for this tool only."],"guardrails.builder.name-duplicate-error":["A guardrail with this name already exists"],"guardrails.builder.name-label":["Guardrail name"],"guardrails.builder.name-placeholder":["Enter guardrail name"],"guardrails.builder.name-required-error":["Guardrail name is required"],"guardrails.builder.parameter-out-of-range-error":["Value is out of range"],"guardrails.builder.parameter-required-error":["Value is required"],"guardrails.builder.recipient-email-label":["Email address"],"guardrails.builder.recipient-fallback-label":["Recipient"],"guardrails.builder.recipient-group-label":["Group"],"guardrails.builder.recipient-group-name-label":["Group name"],"guardrails.builder.recipient-required-error":["Recipient is required"],"guardrails.builder.recipient-user-label":["User"],"guardrails.builder.save":["Save"],"guardrails.builder.save-as-new":["Save as new"],"guardrails.builder.scope-agent-label":["Agent"],"guardrails.builder.scope-llm-label":["LLM calls"],"guardrails.builder.scope-tool-label":["Tools"],"guardrails.builder.scopes-label":["Scopes"],"guardrails.builder.scopes-required-error":["At least one scope is required"],"guardrails.builder.severity-error-label":["Error"],"guardrails.builder.severity-info-label":["Info"],"guardrails.builder.severity-label":["Severity level"],"guardrails.builder.severity-warning-label":["Warning"],"guardrails.builder.tools-label":["Tools"],"guardrails.builder.tools-required-error":["At least one tool is required"],"guardrails.builder.type-label":["Guardrail type"],"guardrails.builder.unauthorized-message":["You are not entitled to use guardrails. You can access the configuration settings, but modifications cannot be saved."],"guardrails.builder.user-search-placeholder":["Search for a user..."],"guardrails.form.add-item":["Add"],"guardrails.form.enum-list-placeholder":["Select options..."],"guardrails.form.enum-placeholder":["Select..."],"guardrails.form.max-error":["Must be at most ",["max"]],"guardrails.form.min-error":["Must be at least ",["min"]],"guardrails.form.more-information":["More information"],"guardrails.form.remove-item":["Remove ",["label"]," ",["position"]],"guardrails.form.required-error":["Value is required"],"loop-node.add-node":["Add node to loop"],"loop-node.execution-count.click-to-jump":["Click to jump to a specific iteration"],"loop-node.execution-count.click-to-return":["Click to return to individual iteration view"],"loop-node.execution-count.jump-to-failed":["Jump to first failed iteration"],"loop-node.execution-count.jump-to-iteration":["Jump to iteration ",["iterationNumber"]," (failed)"],"loop-node.execution-count.next-iteration":["Next iteration"],"loop-node.execution-count.previous-iteration":["Previous iteration"],"loop-node.execution-count.return-to-individual":["Return to individual iteration view"],"loop-node.execution-count.show-aggregate":["Show aggregate across all iterations"],"loop-node.mode.parallel":["Parallel"],"loop-node.mode.sequential":["Sequential"],"loop-node.title":["Loop"],"stage-node.add-first-task":["Add first task"],"stage-node.add-task":["Add task"],"stage-node.add-task-to-parallel-group-above":["Add task to parallel group above"],"stage-node.add-task-to-parallel-group-below":["Add task to parallel group below"],"stage-node.adhoc-tasks":["Manually triggered tasks"],"stage-node.create-parallel-group-with-task-above":["Create parallel group with task above"],"stage-node.create-parallel-group-with-task-below":["Create parallel group with task below"],"stage-node.delete-task":["Delete task"],"stage-node.event-driven-tasks":["Event-triggered tasks"],"stage-node.move-down":["Move down"],"stage-node.move-up":["Move up"],"stage-node.no-tasks":["No tasks"],"stage-node.parallel":["Parallel"],"stage-node.remove-from-parallel-group":["Remove from parallel group"],"stage-node.remove-group-from-stage":["Remove group from stage"],"stage-node.replace-task":["Replace task"],"stage-node.status.cancelled":["Cancelled"],"stage-node.status.completed":["Completed"],"stage-node.status.early-exit":["Early exit"],"stage-node.status.failed":["Failed"],"stage-node.status.in-progress":["In progress"],"stage-node.status.not-executed":["Not started"],"stage-node.status.paused":["Paused"],"stage-node.status.terminated":["Terminated"],"stage-node.status.warning":["Warning"],"stage-node.task-badge.ran-n-times":[["count","plural",{"one":["Ran ","#"," time"],"other":["Ran ","#"," times"]}]],"stage-node.task-badge.running-again":["Running again"],"stage-node.task-mocked":["This task\'s outputs are mocked"],"stage-node.ungroup-parallel-tasks":["Ungroup parallel tasks"],"stage-node.untitled-stage":["Untitled stage"],"sticky-note.formatting.bold":["Bold (",["boldShortcut"],")"],"sticky-note.formatting.bullet-list":["Bullet list"],"sticky-note.formatting.italic":["Italic (",["italicShortcut"],")"],"sticky-note.formatting.numbered-list":["Numbered list"],"sticky-note.formatting.strikethrough":["Strikethrough (",["strikethroughShortcut"],")"],"sticky-note.formatting.toolbar":["Text formatting"],"sticky-note.media.dialog.add-title":["Embed image or video"],"sticky-note.media.dialog.alt-help":["Describe the image for people who use screen readers."],"sticky-note.media.dialog.alt-label":["Alternative text"],"sticky-note.media.dialog.cancel":["Cancel"],"sticky-note.media.dialog.description":["Add a public link. Video supports YouTube and direct video files."],"sticky-note.media.dialog.edit-title":["Edit media"],"sticky-note.media.dialog.embed":["Embed media"],"sticky-note.media.dialog.full-width-help":["The image or video spans the available width of the sticky note."],"sticky-note.media.dialog.full-width-label":["Make full width"],"sticky-note.media.dialog.image-option":["Image"],"sticky-note.media.dialog.image-preview":["Image preview"],"sticky-note.media.dialog.image-url-help":["Use a public HTTPS image link."],"sticky-note.media.dialog.image-url-label":["Image URL"],"sticky-note.media.dialog.image-url-placeholder":["https://example.com/image.png"],"sticky-note.media.dialog.invalid-url":["Enter a valid public HTTPS URL"],"sticky-note.media.dialog.invalid-youtube":["Add a valid YouTube video URL"],"sticky-note.media.dialog.preview-unavailable":["We could not load a preview for this URL."],"sticky-note.media.dialog.save":["Save changes"],"sticky-note.media.dialog.type-label":["Media type"],"sticky-note.media.dialog.unsupported-video":["Add a YouTube URL or a direct public video file URL such as MP4"],"sticky-note.media.dialog.video-option":["Video"],"sticky-note.media.dialog.video-preview":["Video preview"],"sticky-note.media.dialog.video-url-help":["Use a YouTube link or a direct public HTTPS video file link."],"sticky-note.media.dialog.video-url-label":["Video URL"],"sticky-note.media.dialog.video-url-placeholder":["https://youtube.com/watch?v=… or https://example.com/video.mp4"],"sticky-note.media.edit":["Edit media"],"sticky-note.media.embed-action":["Embed image or video"],"sticky-note.media.image-unavailable":["Image unavailable"],"sticky-note.media.image-unavailable-label":["Image unavailable"],"sticky-note.media.play-video":["Play video"],"sticky-note.media.unavailable":["Media unavailable"],"sticky-note.media.video-label":["Embedded video"],"sticky-note.media.video-unavailable":["Video playback is unavailable."],"sticky-note.media.youtube-title":["YouTube video"],"sticky-note.toolbar.color":["Color"],"sticky-note.toolbar.delete":["Delete"],"sticky-note.toolbar.edit":["Edit"],"toolbox.search":["Search"],"toolbox.search.clear":["Clear search"]}');
29
+ const messages = JSON.parse('{"add-node-panel.search-nodes":["Search nodes"],"canvas.json_value_panel.apply":["Apply"],"canvas.json_value_panel.array_item":["item"],"canvas.json_value_panel.cancel":["Cancel"],"canvas.json_value_panel.clear_search":["Clear search"],"canvas.json_value_panel.collapse_all":["Collapse all"],"canvas.json_value_panel.collapse_key":["Collapse ",["key"]],"canvas.json_value_panel.copy_path_for":["Copy path for ",["path"]],"canvas.json_value_panel.copy_path_hint":["Click to copy this path"],"canvas.json_value_panel.copy_value":["Copy value"],"canvas.json_value_panel.copy_value_of":["Copy value of ",["key"]],"canvas.json_value_panel.edit_as_json":["Edit as JSON"],"canvas.json_value_panel.edit_hint":["Click to edit"],"canvas.json_value_panel.edit_json_of":["Edit JSON of ",["key"]],"canvas.json_value_panel.edit_key_as_json":["Edit ",["key"]," as JSON"],"canvas.json_value_panel.edit_value_of":["Edit value of ",["key"]],"canvas.json_value_panel.empty_default":["No fields to display."],"canvas.json_value_panel.empty_search":["No fields match your search."],"canvas.json_value_panel.enter_number":["Enter a number"],"canvas.json_value_panel.enter_value":["Enter a value"],"canvas.json_value_panel.expand_all":["Expand all"],"canvas.json_value_panel.expand_key":["Expand ",["key"]],"canvas.json_value_panel.filter":["Filter"],"canvas.json_value_panel.filter_active":["Filter: ",["label"]],"canvas.json_value_panel.filter_all":["All"],"canvas.json_value_panel.invalid_json":["Invalid JSON"],"canvas.json_value_panel.item_count":[["count","plural",{"one":["#"," item"],"other":["#"," items"]}]],"canvas.json_value_panel.json_tab":["JSON"],"canvas.json_value_panel.key_count":[["count","plural",{"one":["#"," key"],"other":["#"," keys"]}]],"canvas.json_value_panel.path_copied":["Path copied"],"canvas.json_value_panel.required_marker":["required"],"canvas.json_value_panel.schema_tab":["Schema"],"canvas.json_value_panel.search_fields":["Search fields and values..."],"canvas.json_value_panel.search_fields_action":["Search fields and values"],"canvas.json_value_panel.toggle_hint":["Click to toggle"],"canvas.json_value_panel.unset_edit_hint":["Click to set a value"],"canvas.json_value_panel.unset_value":["unset"],"canvas.json_value_panel.unwrap_value":["Unwrap value"],"canvas.json_value_panel.unwrap_value_of":["Unwrap value of ",["key"]],"canvas.json_value_panel.wrap_value":["Wrap value"],"canvas.json_value_panel.wrap_value_of":["Wrap value of ",["key"]],"canvas.node_mode_select.disabled_description":["Don\'t execute this node"],"canvas.node_mode_select.disabled_label":["Skip node"],"canvas.node_mode_select.live_description":["Use the real response from this node"],"canvas.node_mode_select.live_label":["Live"],"canvas.node_mode_select.node_mode":["Node output mode"],"canvas.node_mode_select.simulated_description":["Generate a response dynamically using an LLM"],"canvas.node_mode_select.simulated_label":["Simulated"],"canvas.node_mode_select.static_description":["Always return a value you define"],"canvas.node_mode_select.static_label":["Static mock"],"canvas.node_property_panel.close":["Close"],"canvas.node_property_panel.description_placeholder":["Description"],"canvas.node_property_panel.name_placeholder":["Name"],"canvas.node_property_panel.node_description":["Node description"],"canvas.node_property_panel.node_name":["Node name"],"canvas.property_trigger.always_persist":["Always persist"],"canvas.property_trigger.apply_preset_with_label":["Apply ",["label"]],"canvas.property_trigger.auto_hide":["Auto hide"],"canvas.property_trigger.default_layouts":["Default layouts"],"canvas.property_trigger.delete_preset_with_label":["Delete ",["label"]],"canvas.property_trigger.layout_bottom":["Default — Bottom"],"canvas.property_trigger.layout_right":["Default — Right"],"canvas.property_trigger.layout_split":["Default — Split"],"canvas.property_trigger.no_saved_presets":["No saved presets yet."],"canvas.property_trigger.panel_behavior":["Panel behavior"],"canvas.property_trigger.panel_options":["Panel options"],"canvas.property_trigger.properties":["Properties"],"canvas.property_trigger.rename_preset_with_label":["Rename ",["label"]],"canvas.property_trigger.save_as_preset":["Save as preset"],"canvas.property_trigger.saved_presets":["Saved presets"],"guardrails.builder.action-app-label":["Action App"],"guardrails.builder.action-app-required-error":["Action app is required"],"guardrails.builder.action-block-label":["Block"],"guardrails.builder.action-escalate-label":["Escalate"],"guardrails.builder.action-filter-label":["Filter"],"guardrails.builder.action-log-label":["Log"],"guardrails.builder.action-type-label":["Action type"],"guardrails.builder.add-title":["Add ",["name"]," guardrail"],"guardrails.builder.app-picker-unavailable":["App picker unavailable — requires Studio Web host."],"guardrails.builder.assign-to-label":["Assign to"],"guardrails.builder.block-reason-label":["Blocking reason"],"guardrails.builder.block-reason-placeholder":["Enter reason for blocking"],"guardrails.builder.block-reason-required-error":["Block reason is required"],"guardrails.builder.byo-disabled-message":["This guardrail\'s configuration has been disabled and can no longer be used. Contact your administrator to re-enable the configuration or replace this guardrail before running the agent."],"guardrails.builder.cancel":["Cancel"],"guardrails.builder.description-label":["Guardrail description"],"guardrails.builder.description-placeholder":["Enter guardrail description"],"guardrails.builder.edit-title":["Edit ",["name"]," guardrail"],"guardrails.builder.email-placeholder":["Enter email address"],"guardrails.builder.evals-info-aria-label":["More information"],"guardrails.builder.evals-label":["Enable guardrail for evaluations"],"guardrails.builder.evals-tooltip":["When enabled, this guardrail will be applied during evaluation runs."],"guardrails.builder.feature-disabled-message":["This guardrail feature is disabled. You can access the configuration settings, but modifications cannot be saved. It is best to remove this guardrail as long as the feature is disabled."],"guardrails.builder.filter-fields-required-error":["Fields selection is required"],"guardrails.builder.group-name-placeholder":["Enter group name"],"guardrails.builder.group-search-placeholder":["Search for a group..."],"guardrails.builder.mixed-scopes-also-applied":["This guardrail is also applied to:"],"guardrails.builder.mixed-scopes-save-as-new-hint":["Use \\"Save as new\\" to create a separate copy for this tool only."],"guardrails.builder.name-duplicate-error":["A guardrail with this name already exists"],"guardrails.builder.name-label":["Guardrail name"],"guardrails.builder.name-placeholder":["Enter guardrail name"],"guardrails.builder.name-required-error":["Guardrail name is required"],"guardrails.builder.parameter-out-of-range-error":["Value is out of range"],"guardrails.builder.parameter-required-error":["Value is required"],"guardrails.builder.recipient-email-label":["Email address"],"guardrails.builder.recipient-fallback-label":["Recipient"],"guardrails.builder.recipient-group-label":["Group"],"guardrails.builder.recipient-group-name-label":["Group name"],"guardrails.builder.recipient-required-error":["Recipient is required"],"guardrails.builder.recipient-user-label":["User"],"guardrails.builder.save":["Save"],"guardrails.builder.save-as-new":["Save as new"],"guardrails.builder.scope-agent-label":["Agent"],"guardrails.builder.scope-llm-label":["LLM calls"],"guardrails.builder.scope-tool-label":["Tools"],"guardrails.builder.scopes-label":["Scopes"],"guardrails.builder.scopes-required-error":["At least one scope is required"],"guardrails.builder.severity-error-label":["Error"],"guardrails.builder.severity-info-label":["Info"],"guardrails.builder.severity-label":["Severity level"],"guardrails.builder.severity-warning-label":["Warning"],"guardrails.builder.tools-label":["Tools"],"guardrails.builder.tools-required-error":["At least one tool is required"],"guardrails.builder.type-label":["Guardrail type"],"guardrails.builder.unauthorized-message":["You are not entitled to use guardrails. You can access the configuration settings, but modifications cannot be saved."],"guardrails.builder.user-search-placeholder":["Search for a user..."],"guardrails.definitions.harmful_content.description":["Detect harmful content (e.g. hate, violence) using Azure AI Content Safety."],"guardrails.definitions.harmful_content.display-name":["Harmful content"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.Hate":["Hate"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.SelfHarm":["Self-harm"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.Sexual":["Sexual"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.Violence":["Violence"],"guardrails.definitions.harmful_content.param.harmfulContentEntities.label":["Content categories"],"guardrails.definitions.harmful_content.param.harmfulContentEntityThresholds.label":["Severity thresholds"],"guardrails.definitions.harmful_content.param.harmfulContentEntityThresholds.tooltip":["Integer value between 0 and 6 (step 2). The severity threshold for harmful content detection. Higher values require more severe content before triggering."],"guardrails.definitions.intellectual_property.description":["Detect potential intellectual property violations in text and code using Azure AI Content Safety."],"guardrails.definitions.intellectual_property.display-name":["Intellectual property"],"guardrails.definitions.intellectual_property.option.ipEntities.Code":["Code"],"guardrails.definitions.intellectual_property.option.ipEntities.Text":["Text"],"guardrails.definitions.intellectual_property.param.ipEntities.label":["Content types"],"guardrails.definitions.llm_as_judge.description":["Detect violations of a rule you define, using an LLM as the judge."],"guardrails.definitions.llm_as_judge.display-name":["LLM as Judge"],"guardrails.definitions.llm_as_judge.param.guardrailText.label":["Rule prompt"],"guardrails.definitions.llm_as_judge.param.guardrailText.tooltip":["Describe the rule the judge will enforce. Be specific about what should pass and what should fail."],"guardrails.definitions.llm_as_judge.param.model.label":["Judge model"],"guardrails.definitions.llm_as_judge.param.model.tooltip":["The model used to evaluate the policy against each payload."],"guardrails.definitions.llm_as_judge.param.negativeExamples.label":["Negative examples"],"guardrails.definitions.llm_as_judge.param.negativeExamples.tooltip":["Optional payloads that should fail the policy. Used by the judge as calibration anchors."],"guardrails.definitions.llm_as_judge.param.positiveExamples.label":["Positive examples"],"guardrails.definitions.llm_as_judge.param.positiveExamples.tooltip":["Optional payloads that should pass the policy. Used by the judge as calibration anchors."],"guardrails.definitions.llm_as_judge.param.threshold.label":["Strictness"],"guardrails.definitions.llm_as_judge.param.threshold.tooltip":["Strictness on a 0–6 scale. Lower values are stricter — the judge flags anything that hints at a violation. Higher values are more lenient — only clear, unambiguous violations are flagged."],"guardrails.definitions.llm_as_judge.usage-note":["Judge model calls consume Agent units the same way the agent\'s own LLM calls do. Apply selectively to keep cost predictable, and choose the judge model with cost in mind — rates vary by model."],"guardrails.definitions.pii_detection.description":["Detect personally identifiable information using Azure Cognitive Services."],"guardrails.definitions.pii_detection.display-name":["PII detection"],"guardrails.definitions.pii_detection.option.entities.ABARoutingNumber":["ABA Routing Number"],"guardrails.definitions.pii_detection.option.entities.Address":["Address"],"guardrails.definitions.pii_detection.option.entities.CreditCardNumber":["Credit Card Number"],"guardrails.definitions.pii_detection.option.entities.DKPersonalIdentificationNumber":["Danish Personal Identification Number"],"guardrails.definitions.pii_detection.option.entities.Date":["Date"],"guardrails.definitions.pii_detection.option.entities.Email":["Email"],"guardrails.definitions.pii_detection.option.entities.EugpsCoordinates":["EU GPS Coordinates"],"guardrails.definitions.pii_detection.option.entities.FINationalID":["Finland National ID"],"guardrails.definitions.pii_detection.option.entities.FIPassportNumber":["Finland Passport Number"],"guardrails.definitions.pii_detection.option.entities.IPAddress":["IP Address"],"guardrails.definitions.pii_detection.option.entities.InternationalBankingAccountNumber":["International Banking Account Number (IBAN)"],"guardrails.definitions.pii_detection.option.entities.NLCitizensServiceNumber":["Netherlands Citizens Service Number"],"guardrails.definitions.pii_detection.option.entities.NOIdentityNumber":["Norway Identity Number"],"guardrails.definitions.pii_detection.option.entities.Person":["Person"],"guardrails.definitions.pii_detection.option.entities.PhoneNumber":["Phone Number"],"guardrails.definitions.pii_detection.option.entities.SENationalID":["Sweden National ID"],"guardrails.definitions.pii_detection.option.entities.SwiftCode":["SWIFT Code"],"guardrails.definitions.pii_detection.option.entities.UKDriversLicenseNumber":["UK Driver\'s License Number"],"guardrails.definitions.pii_detection.option.entities.UKUniqueTaxpayerNumber":["UK Unique Taxpayer Number (UTR)"],"guardrails.definitions.pii_detection.option.entities.URL":["URL"],"guardrails.definitions.pii_detection.option.entities.USBankAccountNumber":["US Bank Account Number"],"guardrails.definitions.pii_detection.option.entities.USDriversLicenseNumber":["US Driver\'s License Number"],"guardrails.definitions.pii_detection.option.entities.USIndividualTaxpayerIdentification":["US Individual Taxpayer Identification Number (ITIN)"],"guardrails.definitions.pii_detection.option.entities.USSocialSecurityNumber":["US Social Security Number (SSN)"],"guardrails.definitions.pii_detection.option.entities.UsukPassportNumber":["US/UK Passport Number"],"guardrails.definitions.pii_detection.param.entities.label":["Entities to detect"],"guardrails.definitions.pii_detection.param.entityThresholds.label":["Detection thresholds"],"guardrails.definitions.pii_detection.param.entityThresholds.tooltip":["Value between 0 and 1. The sensitivity level for PII detection. Higher thresholds detect more potential PII but may result in more false positives."],"guardrails.definitions.prompt_injection.description":["This validator is provided by Noma Security and is built to detect malicious attack attempts (e.g. prompt injection, jailbreak) in LLM calls."],"guardrails.definitions.prompt_injection.display-name":["Prompt injection"],"guardrails.definitions.prompt_injection.param.threshold.label":["Detection threshold"],"guardrails.definitions.prompt_injection.param.threshold.tooltip":["Value between 0 and 1. The sensitivity level for Prompt Injection detection. Higher thresholds detect more potential Prompt Injection but may result in more false positives."],"guardrails.definitions.user_prompt_attacks.description":["Detect user prompt attacks that attempt to bypass system instructions using Azure AI Content Safety."],"guardrails.definitions.user_prompt_attacks.display-name":["User prompt attacks"],"guardrails.form.add-item":["Add"],"guardrails.form.enum-list-placeholder":["Select options..."],"guardrails.form.enum-placeholder":["Select..."],"guardrails.form.max-error":["Must be at most ",["max"]],"guardrails.form.min-error":["Must be at least ",["min"]],"guardrails.form.more-information":["More information"],"guardrails.form.remove-item":["Remove ",["label"]," ",["position"]],"guardrails.form.required-error":["Value is required"],"loop-node.add-node":["Add node to loop"],"loop-node.execution-count.click-to-jump":["Click to jump to a specific iteration"],"loop-node.execution-count.click-to-return":["Click to return to individual iteration view"],"loop-node.execution-count.jump-to-failed":["Jump to first failed iteration"],"loop-node.execution-count.jump-to-iteration":["Jump to iteration ",["iterationNumber"]," (failed)"],"loop-node.execution-count.next-iteration":["Next iteration"],"loop-node.execution-count.previous-iteration":["Previous iteration"],"loop-node.execution-count.return-to-individual":["Return to individual iteration view"],"loop-node.execution-count.show-aggregate":["Show aggregate across all iterations"],"loop-node.mode.parallel":["Parallel"],"loop-node.mode.sequential":["Sequential"],"loop-node.title":["Loop"],"stage-node.add-first-task":["Add first task"],"stage-node.add-task":["Add task"],"stage-node.add-task-to-parallel-group-above":["Add task to parallel group above"],"stage-node.add-task-to-parallel-group-below":["Add task to parallel group below"],"stage-node.adhoc-tasks":["Manually triggered tasks"],"stage-node.create-parallel-group-with-task-above":["Create parallel group with task above"],"stage-node.create-parallel-group-with-task-below":["Create parallel group with task below"],"stage-node.delete-task":["Delete task"],"stage-node.event-driven-tasks":["Event-triggered tasks"],"stage-node.move-down":["Move down"],"stage-node.move-up":["Move up"],"stage-node.no-tasks":["No tasks"],"stage-node.parallel":["Parallel"],"stage-node.remove-from-parallel-group":["Remove from parallel group"],"stage-node.remove-group-from-stage":["Remove group from stage"],"stage-node.replace-task":["Replace task"],"stage-node.status.cancelled":["Cancelled"],"stage-node.status.completed":["Completed"],"stage-node.status.early-exit":["Early exit"],"stage-node.status.failed":["Failed"],"stage-node.status.in-progress":["In progress"],"stage-node.status.not-executed":["Not started"],"stage-node.status.paused":["Paused"],"stage-node.status.terminated":["Terminated"],"stage-node.status.warning":["Warning"],"stage-node.task-badge.ran-n-times":[["count","plural",{"one":["Ran ","#"," time"],"other":["Ran ","#"," times"]}]],"stage-node.task-badge.running-again":["Running again"],"stage-node.task-mocked":["This task\'s outputs are mocked"],"stage-node.ungroup-parallel-tasks":["Ungroup parallel tasks"],"stage-node.untitled-stage":["Untitled stage"],"sticky-note.formatting.bold":["Bold (",["boldShortcut"],")"],"sticky-note.formatting.bullet-list":["Bullet list"],"sticky-note.formatting.italic":["Italic (",["italicShortcut"],")"],"sticky-note.formatting.numbered-list":["Numbered list"],"sticky-note.formatting.strikethrough":["Strikethrough (",["strikethroughShortcut"],")"],"sticky-note.formatting.toolbar":["Text formatting"],"sticky-note.media.dialog.add-title":["Embed image or video"],"sticky-note.media.dialog.alt-help":["Describe the image for people who use screen readers."],"sticky-note.media.dialog.alt-label":["Alternative text"],"sticky-note.media.dialog.cancel":["Cancel"],"sticky-note.media.dialog.description":["Add a public link. Video supports YouTube and direct video files."],"sticky-note.media.dialog.edit-title":["Edit media"],"sticky-note.media.dialog.embed":["Embed media"],"sticky-note.media.dialog.full-width-help":["The image or video spans the available width of the sticky note."],"sticky-note.media.dialog.full-width-label":["Make full width"],"sticky-note.media.dialog.image-option":["Image"],"sticky-note.media.dialog.image-preview":["Image preview"],"sticky-note.media.dialog.image-url-help":["Use a public HTTPS image link."],"sticky-note.media.dialog.image-url-label":["Image URL"],"sticky-note.media.dialog.image-url-placeholder":["https://example.com/image.png"],"sticky-note.media.dialog.invalid-url":["Enter a valid public HTTPS URL"],"sticky-note.media.dialog.invalid-youtube":["Add a valid YouTube video URL"],"sticky-note.media.dialog.preview-unavailable":["We could not load a preview for this URL."],"sticky-note.media.dialog.save":["Save changes"],"sticky-note.media.dialog.type-label":["Media type"],"sticky-note.media.dialog.unsupported-video":["Add a YouTube URL or a direct public video file URL such as MP4"],"sticky-note.media.dialog.video-option":["Video"],"sticky-note.media.dialog.video-preview":["Video preview"],"sticky-note.media.dialog.video-url-help":["Use a YouTube link or a direct public HTTPS video file link."],"sticky-note.media.dialog.video-url-label":["Video URL"],"sticky-note.media.dialog.video-url-placeholder":["https://youtube.com/watch?v=… or https://example.com/video.mp4"],"sticky-note.media.edit":["Edit media"],"sticky-note.media.embed-action":["Embed image or video"],"sticky-note.media.image-unavailable":["Image unavailable"],"sticky-note.media.image-unavailable-label":["Image unavailable"],"sticky-note.media.play-video":["Play video"],"sticky-note.media.unavailable":["Media unavailable"],"sticky-note.media.video-label":["Embedded video"],"sticky-note.media.video-unavailable":["Video playback is unavailable."],"sticky-note.media.youtube-title":["YouTube video"],"sticky-note.toolbar.color":["Color"],"sticky-note.toolbar.delete":["Delete"],"sticky-note.toolbar.edit":["Edit"],"toolbox.search":["Search"],"toolbox.search.clear":["Clear search"]}');
30
30
  exports.messages = __webpack_exports__.messages;
31
31
  for(var __rspack_i in __webpack_exports__)if (-1 === [
32
32
  "messages"
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/canvas/locales/en.ts"],"names":[],"mappings":"AAAkB,OAAO,KAAI,EAAC,QAAQ,EAAC,MAAI,cAAc,CAAC;AAAA,eAAO,MAAM,QAAQ,EAA2ud,QAAQ,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/canvas/locales/en.ts"],"names":[],"mappings":"AAAkB,OAAO,KAAI,EAAC,QAAQ,EAAC,MAAI,cAAc,CAAC;AAAA,eAAO,MAAM,QAAQ,EAAm7rB,QAAQ,CAAC"}
@@ -1,2 +1,2 @@
1
- const messages = JSON.parse('{"add-node-panel.search-nodes":["Search nodes"],"canvas.json_value_panel.apply":["Apply"],"canvas.json_value_panel.array_item":["item"],"canvas.json_value_panel.cancel":["Cancel"],"canvas.json_value_panel.clear_search":["Clear search"],"canvas.json_value_panel.collapse_all":["Collapse all"],"canvas.json_value_panel.collapse_key":["Collapse ",["key"]],"canvas.json_value_panel.copy_path_for":["Copy path for ",["path"]],"canvas.json_value_panel.copy_path_hint":["Click to copy this path"],"canvas.json_value_panel.copy_value":["Copy value"],"canvas.json_value_panel.copy_value_of":["Copy value of ",["key"]],"canvas.json_value_panel.edit_as_json":["Edit as JSON"],"canvas.json_value_panel.edit_hint":["Click to edit"],"canvas.json_value_panel.edit_json_of":["Edit JSON of ",["key"]],"canvas.json_value_panel.edit_key_as_json":["Edit ",["key"]," as JSON"],"canvas.json_value_panel.edit_value_of":["Edit value of ",["key"]],"canvas.json_value_panel.empty_default":["No fields to display."],"canvas.json_value_panel.empty_search":["No fields match your search."],"canvas.json_value_panel.enter_number":["Enter a number"],"canvas.json_value_panel.enter_value":["Enter a value"],"canvas.json_value_panel.expand_all":["Expand all"],"canvas.json_value_panel.expand_key":["Expand ",["key"]],"canvas.json_value_panel.filter":["Filter"],"canvas.json_value_panel.filter_active":["Filter: ",["label"]],"canvas.json_value_panel.filter_all":["All"],"canvas.json_value_panel.invalid_json":["Invalid JSON"],"canvas.json_value_panel.item_count":[["count","plural",{"one":["#"," item"],"other":["#"," items"]}]],"canvas.json_value_panel.json_tab":["JSON"],"canvas.json_value_panel.key_count":[["count","plural",{"one":["#"," key"],"other":["#"," keys"]}]],"canvas.json_value_panel.path_copied":["Path copied"],"canvas.json_value_panel.required_marker":["required"],"canvas.json_value_panel.schema_tab":["Schema"],"canvas.json_value_panel.search_fields":["Search fields and values..."],"canvas.json_value_panel.search_fields_action":["Search fields and values"],"canvas.json_value_panel.toggle_hint":["Click to toggle"],"canvas.json_value_panel.unset_edit_hint":["Click to set a value"],"canvas.json_value_panel.unset_value":["unset"],"canvas.json_value_panel.unwrap_value":["Unwrap value"],"canvas.json_value_panel.unwrap_value_of":["Unwrap value of ",["key"]],"canvas.json_value_panel.wrap_value":["Wrap value"],"canvas.json_value_panel.wrap_value_of":["Wrap value of ",["key"]],"canvas.node_mode_select.disabled_description":["Don\'t execute this node"],"canvas.node_mode_select.disabled_label":["Skip node"],"canvas.node_mode_select.live_description":["Use the real response from this node"],"canvas.node_mode_select.live_label":["Live"],"canvas.node_mode_select.node_mode":["Node output mode"],"canvas.node_mode_select.simulated_description":["Generate a response dynamically using an LLM"],"canvas.node_mode_select.simulated_label":["Simulated"],"canvas.node_mode_select.static_description":["Always return a value you define"],"canvas.node_mode_select.static_label":["Static mock"],"canvas.node_property_panel.close":["Close"],"canvas.node_property_panel.description_placeholder":["Description"],"canvas.node_property_panel.name_placeholder":["Name"],"canvas.node_property_panel.node_description":["Node description"],"canvas.node_property_panel.node_name":["Node name"],"canvas.property_trigger.always_persist":["Always persist"],"canvas.property_trigger.apply_preset_with_label":["Apply ",["label"]],"canvas.property_trigger.auto_hide":["Auto hide"],"canvas.property_trigger.default_layouts":["Default layouts"],"canvas.property_trigger.delete_preset_with_label":["Delete ",["label"]],"canvas.property_trigger.layout_bottom":["Default — Bottom"],"canvas.property_trigger.layout_right":["Default — Right"],"canvas.property_trigger.layout_split":["Default — Split"],"canvas.property_trigger.no_saved_presets":["No saved presets yet."],"canvas.property_trigger.panel_behavior":["Panel behavior"],"canvas.property_trigger.panel_options":["Panel options"],"canvas.property_trigger.properties":["Properties"],"canvas.property_trigger.rename_preset_with_label":["Rename ",["label"]],"canvas.property_trigger.save_as_preset":["Save as preset"],"canvas.property_trigger.saved_presets":["Saved presets"],"guardrails.builder.action-app-label":["Action App"],"guardrails.builder.action-app-required-error":["Action app is required"],"guardrails.builder.action-block-label":["Block"],"guardrails.builder.action-escalate-label":["Escalate"],"guardrails.builder.action-filter-label":["Filter"],"guardrails.builder.action-log-label":["Log"],"guardrails.builder.action-type-label":["Action type"],"guardrails.builder.add-title":["Add ",["name"]," guardrail"],"guardrails.builder.app-picker-unavailable":["App picker unavailable — requires Studio Web host."],"guardrails.builder.assign-to-label":["Assign to"],"guardrails.builder.block-reason-label":["Blocking reason"],"guardrails.builder.block-reason-placeholder":["Enter reason for blocking"],"guardrails.builder.block-reason-required-error":["Block reason is required"],"guardrails.builder.byo-disabled-message":["This guardrail\'s configuration has been disabled and can no longer be used. Contact your administrator to re-enable the configuration or replace this guardrail before running the agent."],"guardrails.builder.cancel":["Cancel"],"guardrails.builder.description-label":["Guardrail description"],"guardrails.builder.description-placeholder":["Enter guardrail description"],"guardrails.builder.edit-title":["Edit ",["name"]," guardrail"],"guardrails.builder.email-placeholder":["Enter email address"],"guardrails.builder.evals-info-aria-label":["More information"],"guardrails.builder.evals-label":["Enable guardrail for evaluations"],"guardrails.builder.evals-tooltip":["When enabled, this guardrail will be applied during evaluation runs."],"guardrails.builder.feature-disabled-message":["This guardrail feature is disabled. You can access the configuration settings, but modifications cannot be saved. It is best to remove this guardrail as long as the feature is disabled."],"guardrails.builder.filter-fields-required-error":["Fields selection is required"],"guardrails.builder.group-name-placeholder":["Enter group name"],"guardrails.builder.group-search-placeholder":["Search for a group..."],"guardrails.builder.mixed-scopes-also-applied":["This guardrail is also applied to:"],"guardrails.builder.mixed-scopes-save-as-new-hint":["Use \\"Save as new\\" to create a separate copy for this tool only."],"guardrails.builder.name-duplicate-error":["A guardrail with this name already exists"],"guardrails.builder.name-label":["Guardrail name"],"guardrails.builder.name-placeholder":["Enter guardrail name"],"guardrails.builder.name-required-error":["Guardrail name is required"],"guardrails.builder.parameter-out-of-range-error":["Value is out of range"],"guardrails.builder.parameter-required-error":["Value is required"],"guardrails.builder.recipient-email-label":["Email address"],"guardrails.builder.recipient-fallback-label":["Recipient"],"guardrails.builder.recipient-group-label":["Group"],"guardrails.builder.recipient-group-name-label":["Group name"],"guardrails.builder.recipient-required-error":["Recipient is required"],"guardrails.builder.recipient-user-label":["User"],"guardrails.builder.save":["Save"],"guardrails.builder.save-as-new":["Save as new"],"guardrails.builder.scope-agent-label":["Agent"],"guardrails.builder.scope-llm-label":["LLM calls"],"guardrails.builder.scope-tool-label":["Tools"],"guardrails.builder.scopes-label":["Scopes"],"guardrails.builder.scopes-required-error":["At least one scope is required"],"guardrails.builder.severity-error-label":["Error"],"guardrails.builder.severity-info-label":["Info"],"guardrails.builder.severity-label":["Severity level"],"guardrails.builder.severity-warning-label":["Warning"],"guardrails.builder.tools-label":["Tools"],"guardrails.builder.tools-required-error":["At least one tool is required"],"guardrails.builder.type-label":["Guardrail type"],"guardrails.builder.unauthorized-message":["You are not entitled to use guardrails. You can access the configuration settings, but modifications cannot be saved."],"guardrails.builder.user-search-placeholder":["Search for a user..."],"guardrails.form.add-item":["Add"],"guardrails.form.enum-list-placeholder":["Select options..."],"guardrails.form.enum-placeholder":["Select..."],"guardrails.form.max-error":["Must be at most ",["max"]],"guardrails.form.min-error":["Must be at least ",["min"]],"guardrails.form.more-information":["More information"],"guardrails.form.remove-item":["Remove ",["label"]," ",["position"]],"guardrails.form.required-error":["Value is required"],"loop-node.add-node":["Add node to loop"],"loop-node.execution-count.click-to-jump":["Click to jump to a specific iteration"],"loop-node.execution-count.click-to-return":["Click to return to individual iteration view"],"loop-node.execution-count.jump-to-failed":["Jump to first failed iteration"],"loop-node.execution-count.jump-to-iteration":["Jump to iteration ",["iterationNumber"]," (failed)"],"loop-node.execution-count.next-iteration":["Next iteration"],"loop-node.execution-count.previous-iteration":["Previous iteration"],"loop-node.execution-count.return-to-individual":["Return to individual iteration view"],"loop-node.execution-count.show-aggregate":["Show aggregate across all iterations"],"loop-node.mode.parallel":["Parallel"],"loop-node.mode.sequential":["Sequential"],"loop-node.title":["Loop"],"stage-node.add-first-task":["Add first task"],"stage-node.add-task":["Add task"],"stage-node.add-task-to-parallel-group-above":["Add task to parallel group above"],"stage-node.add-task-to-parallel-group-below":["Add task to parallel group below"],"stage-node.adhoc-tasks":["Manually triggered tasks"],"stage-node.create-parallel-group-with-task-above":["Create parallel group with task above"],"stage-node.create-parallel-group-with-task-below":["Create parallel group with task below"],"stage-node.delete-task":["Delete task"],"stage-node.event-driven-tasks":["Event-triggered tasks"],"stage-node.move-down":["Move down"],"stage-node.move-up":["Move up"],"stage-node.no-tasks":["No tasks"],"stage-node.parallel":["Parallel"],"stage-node.remove-from-parallel-group":["Remove from parallel group"],"stage-node.remove-group-from-stage":["Remove group from stage"],"stage-node.replace-task":["Replace task"],"stage-node.status.cancelled":["Cancelled"],"stage-node.status.completed":["Completed"],"stage-node.status.early-exit":["Early exit"],"stage-node.status.failed":["Failed"],"stage-node.status.in-progress":["In progress"],"stage-node.status.not-executed":["Not started"],"stage-node.status.paused":["Paused"],"stage-node.status.terminated":["Terminated"],"stage-node.status.warning":["Warning"],"stage-node.task-badge.ran-n-times":[["count","plural",{"one":["Ran ","#"," time"],"other":["Ran ","#"," times"]}]],"stage-node.task-badge.running-again":["Running again"],"stage-node.task-mocked":["This task\'s outputs are mocked"],"stage-node.ungroup-parallel-tasks":["Ungroup parallel tasks"],"stage-node.untitled-stage":["Untitled stage"],"sticky-note.formatting.bold":["Bold (",["boldShortcut"],")"],"sticky-note.formatting.bullet-list":["Bullet list"],"sticky-note.formatting.italic":["Italic (",["italicShortcut"],")"],"sticky-note.formatting.numbered-list":["Numbered list"],"sticky-note.formatting.strikethrough":["Strikethrough (",["strikethroughShortcut"],")"],"sticky-note.formatting.toolbar":["Text formatting"],"sticky-note.media.dialog.add-title":["Embed image or video"],"sticky-note.media.dialog.alt-help":["Describe the image for people who use screen readers."],"sticky-note.media.dialog.alt-label":["Alternative text"],"sticky-note.media.dialog.cancel":["Cancel"],"sticky-note.media.dialog.description":["Add a public link. Video supports YouTube and direct video files."],"sticky-note.media.dialog.edit-title":["Edit media"],"sticky-note.media.dialog.embed":["Embed media"],"sticky-note.media.dialog.full-width-help":["The image or video spans the available width of the sticky note."],"sticky-note.media.dialog.full-width-label":["Make full width"],"sticky-note.media.dialog.image-option":["Image"],"sticky-note.media.dialog.image-preview":["Image preview"],"sticky-note.media.dialog.image-url-help":["Use a public HTTPS image link."],"sticky-note.media.dialog.image-url-label":["Image URL"],"sticky-note.media.dialog.image-url-placeholder":["https://example.com/image.png"],"sticky-note.media.dialog.invalid-url":["Enter a valid public HTTPS URL"],"sticky-note.media.dialog.invalid-youtube":["Add a valid YouTube video URL"],"sticky-note.media.dialog.preview-unavailable":["We could not load a preview for this URL."],"sticky-note.media.dialog.save":["Save changes"],"sticky-note.media.dialog.type-label":["Media type"],"sticky-note.media.dialog.unsupported-video":["Add a YouTube URL or a direct public video file URL such as MP4"],"sticky-note.media.dialog.video-option":["Video"],"sticky-note.media.dialog.video-preview":["Video preview"],"sticky-note.media.dialog.video-url-help":["Use a YouTube link or a direct public HTTPS video file link."],"sticky-note.media.dialog.video-url-label":["Video URL"],"sticky-note.media.dialog.video-url-placeholder":["https://youtube.com/watch?v=… or https://example.com/video.mp4"],"sticky-note.media.edit":["Edit media"],"sticky-note.media.embed-action":["Embed image or video"],"sticky-note.media.image-unavailable":["Image unavailable"],"sticky-note.media.image-unavailable-label":["Image unavailable"],"sticky-note.media.play-video":["Play video"],"sticky-note.media.unavailable":["Media unavailable"],"sticky-note.media.video-label":["Embedded video"],"sticky-note.media.video-unavailable":["Video playback is unavailable."],"sticky-note.media.youtube-title":["YouTube video"],"sticky-note.toolbar.color":["Color"],"sticky-note.toolbar.delete":["Delete"],"sticky-note.toolbar.edit":["Edit"],"toolbox.search":["Search"],"toolbox.search.clear":["Clear search"]}');
1
+ const messages = JSON.parse('{"add-node-panel.search-nodes":["Search nodes"],"canvas.json_value_panel.apply":["Apply"],"canvas.json_value_panel.array_item":["item"],"canvas.json_value_panel.cancel":["Cancel"],"canvas.json_value_panel.clear_search":["Clear search"],"canvas.json_value_panel.collapse_all":["Collapse all"],"canvas.json_value_panel.collapse_key":["Collapse ",["key"]],"canvas.json_value_panel.copy_path_for":["Copy path for ",["path"]],"canvas.json_value_panel.copy_path_hint":["Click to copy this path"],"canvas.json_value_panel.copy_value":["Copy value"],"canvas.json_value_panel.copy_value_of":["Copy value of ",["key"]],"canvas.json_value_panel.edit_as_json":["Edit as JSON"],"canvas.json_value_panel.edit_hint":["Click to edit"],"canvas.json_value_panel.edit_json_of":["Edit JSON of ",["key"]],"canvas.json_value_panel.edit_key_as_json":["Edit ",["key"]," as JSON"],"canvas.json_value_panel.edit_value_of":["Edit value of ",["key"]],"canvas.json_value_panel.empty_default":["No fields to display."],"canvas.json_value_panel.empty_search":["No fields match your search."],"canvas.json_value_panel.enter_number":["Enter a number"],"canvas.json_value_panel.enter_value":["Enter a value"],"canvas.json_value_panel.expand_all":["Expand all"],"canvas.json_value_panel.expand_key":["Expand ",["key"]],"canvas.json_value_panel.filter":["Filter"],"canvas.json_value_panel.filter_active":["Filter: ",["label"]],"canvas.json_value_panel.filter_all":["All"],"canvas.json_value_panel.invalid_json":["Invalid JSON"],"canvas.json_value_panel.item_count":[["count","plural",{"one":["#"," item"],"other":["#"," items"]}]],"canvas.json_value_panel.json_tab":["JSON"],"canvas.json_value_panel.key_count":[["count","plural",{"one":["#"," key"],"other":["#"," keys"]}]],"canvas.json_value_panel.path_copied":["Path copied"],"canvas.json_value_panel.required_marker":["required"],"canvas.json_value_panel.schema_tab":["Schema"],"canvas.json_value_panel.search_fields":["Search fields and values..."],"canvas.json_value_panel.search_fields_action":["Search fields and values"],"canvas.json_value_panel.toggle_hint":["Click to toggle"],"canvas.json_value_panel.unset_edit_hint":["Click to set a value"],"canvas.json_value_panel.unset_value":["unset"],"canvas.json_value_panel.unwrap_value":["Unwrap value"],"canvas.json_value_panel.unwrap_value_of":["Unwrap value of ",["key"]],"canvas.json_value_panel.wrap_value":["Wrap value"],"canvas.json_value_panel.wrap_value_of":["Wrap value of ",["key"]],"canvas.node_mode_select.disabled_description":["Don\'t execute this node"],"canvas.node_mode_select.disabled_label":["Skip node"],"canvas.node_mode_select.live_description":["Use the real response from this node"],"canvas.node_mode_select.live_label":["Live"],"canvas.node_mode_select.node_mode":["Node output mode"],"canvas.node_mode_select.simulated_description":["Generate a response dynamically using an LLM"],"canvas.node_mode_select.simulated_label":["Simulated"],"canvas.node_mode_select.static_description":["Always return a value you define"],"canvas.node_mode_select.static_label":["Static mock"],"canvas.node_property_panel.close":["Close"],"canvas.node_property_panel.description_placeholder":["Description"],"canvas.node_property_panel.name_placeholder":["Name"],"canvas.node_property_panel.node_description":["Node description"],"canvas.node_property_panel.node_name":["Node name"],"canvas.property_trigger.always_persist":["Always persist"],"canvas.property_trigger.apply_preset_with_label":["Apply ",["label"]],"canvas.property_trigger.auto_hide":["Auto hide"],"canvas.property_trigger.default_layouts":["Default layouts"],"canvas.property_trigger.delete_preset_with_label":["Delete ",["label"]],"canvas.property_trigger.layout_bottom":["Default — Bottom"],"canvas.property_trigger.layout_right":["Default — Right"],"canvas.property_trigger.layout_split":["Default — Split"],"canvas.property_trigger.no_saved_presets":["No saved presets yet."],"canvas.property_trigger.panel_behavior":["Panel behavior"],"canvas.property_trigger.panel_options":["Panel options"],"canvas.property_trigger.properties":["Properties"],"canvas.property_trigger.rename_preset_with_label":["Rename ",["label"]],"canvas.property_trigger.save_as_preset":["Save as preset"],"canvas.property_trigger.saved_presets":["Saved presets"],"guardrails.builder.action-app-label":["Action App"],"guardrails.builder.action-app-required-error":["Action app is required"],"guardrails.builder.action-block-label":["Block"],"guardrails.builder.action-escalate-label":["Escalate"],"guardrails.builder.action-filter-label":["Filter"],"guardrails.builder.action-log-label":["Log"],"guardrails.builder.action-type-label":["Action type"],"guardrails.builder.add-title":["Add ",["name"]," guardrail"],"guardrails.builder.app-picker-unavailable":["App picker unavailable — requires Studio Web host."],"guardrails.builder.assign-to-label":["Assign to"],"guardrails.builder.block-reason-label":["Blocking reason"],"guardrails.builder.block-reason-placeholder":["Enter reason for blocking"],"guardrails.builder.block-reason-required-error":["Block reason is required"],"guardrails.builder.byo-disabled-message":["This guardrail\'s configuration has been disabled and can no longer be used. Contact your administrator to re-enable the configuration or replace this guardrail before running the agent."],"guardrails.builder.cancel":["Cancel"],"guardrails.builder.description-label":["Guardrail description"],"guardrails.builder.description-placeholder":["Enter guardrail description"],"guardrails.builder.edit-title":["Edit ",["name"]," guardrail"],"guardrails.builder.email-placeholder":["Enter email address"],"guardrails.builder.evals-info-aria-label":["More information"],"guardrails.builder.evals-label":["Enable guardrail for evaluations"],"guardrails.builder.evals-tooltip":["When enabled, this guardrail will be applied during evaluation runs."],"guardrails.builder.feature-disabled-message":["This guardrail feature is disabled. You can access the configuration settings, but modifications cannot be saved. It is best to remove this guardrail as long as the feature is disabled."],"guardrails.builder.filter-fields-required-error":["Fields selection is required"],"guardrails.builder.group-name-placeholder":["Enter group name"],"guardrails.builder.group-search-placeholder":["Search for a group..."],"guardrails.builder.mixed-scopes-also-applied":["This guardrail is also applied to:"],"guardrails.builder.mixed-scopes-save-as-new-hint":["Use \\"Save as new\\" to create a separate copy for this tool only."],"guardrails.builder.name-duplicate-error":["A guardrail with this name already exists"],"guardrails.builder.name-label":["Guardrail name"],"guardrails.builder.name-placeholder":["Enter guardrail name"],"guardrails.builder.name-required-error":["Guardrail name is required"],"guardrails.builder.parameter-out-of-range-error":["Value is out of range"],"guardrails.builder.parameter-required-error":["Value is required"],"guardrails.builder.recipient-email-label":["Email address"],"guardrails.builder.recipient-fallback-label":["Recipient"],"guardrails.builder.recipient-group-label":["Group"],"guardrails.builder.recipient-group-name-label":["Group name"],"guardrails.builder.recipient-required-error":["Recipient is required"],"guardrails.builder.recipient-user-label":["User"],"guardrails.builder.save":["Save"],"guardrails.builder.save-as-new":["Save as new"],"guardrails.builder.scope-agent-label":["Agent"],"guardrails.builder.scope-llm-label":["LLM calls"],"guardrails.builder.scope-tool-label":["Tools"],"guardrails.builder.scopes-label":["Scopes"],"guardrails.builder.scopes-required-error":["At least one scope is required"],"guardrails.builder.severity-error-label":["Error"],"guardrails.builder.severity-info-label":["Info"],"guardrails.builder.severity-label":["Severity level"],"guardrails.builder.severity-warning-label":["Warning"],"guardrails.builder.tools-label":["Tools"],"guardrails.builder.tools-required-error":["At least one tool is required"],"guardrails.builder.type-label":["Guardrail type"],"guardrails.builder.unauthorized-message":["You are not entitled to use guardrails. You can access the configuration settings, but modifications cannot be saved."],"guardrails.builder.user-search-placeholder":["Search for a user..."],"guardrails.definitions.harmful_content.description":["Detect harmful content (e.g. hate, violence) using Azure AI Content Safety."],"guardrails.definitions.harmful_content.display-name":["Harmful content"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.Hate":["Hate"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.SelfHarm":["Self-harm"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.Sexual":["Sexual"],"guardrails.definitions.harmful_content.option.harmfulContentEntities.Violence":["Violence"],"guardrails.definitions.harmful_content.param.harmfulContentEntities.label":["Content categories"],"guardrails.definitions.harmful_content.param.harmfulContentEntityThresholds.label":["Severity thresholds"],"guardrails.definitions.harmful_content.param.harmfulContentEntityThresholds.tooltip":["Integer value between 0 and 6 (step 2). The severity threshold for harmful content detection. Higher values require more severe content before triggering."],"guardrails.definitions.intellectual_property.description":["Detect potential intellectual property violations in text and code using Azure AI Content Safety."],"guardrails.definitions.intellectual_property.display-name":["Intellectual property"],"guardrails.definitions.intellectual_property.option.ipEntities.Code":["Code"],"guardrails.definitions.intellectual_property.option.ipEntities.Text":["Text"],"guardrails.definitions.intellectual_property.param.ipEntities.label":["Content types"],"guardrails.definitions.llm_as_judge.description":["Detect violations of a rule you define, using an LLM as the judge."],"guardrails.definitions.llm_as_judge.display-name":["LLM as Judge"],"guardrails.definitions.llm_as_judge.param.guardrailText.label":["Rule prompt"],"guardrails.definitions.llm_as_judge.param.guardrailText.tooltip":["Describe the rule the judge will enforce. Be specific about what should pass and what should fail."],"guardrails.definitions.llm_as_judge.param.model.label":["Judge model"],"guardrails.definitions.llm_as_judge.param.model.tooltip":["The model used to evaluate the policy against each payload."],"guardrails.definitions.llm_as_judge.param.negativeExamples.label":["Negative examples"],"guardrails.definitions.llm_as_judge.param.negativeExamples.tooltip":["Optional payloads that should fail the policy. Used by the judge as calibration anchors."],"guardrails.definitions.llm_as_judge.param.positiveExamples.label":["Positive examples"],"guardrails.definitions.llm_as_judge.param.positiveExamples.tooltip":["Optional payloads that should pass the policy. Used by the judge as calibration anchors."],"guardrails.definitions.llm_as_judge.param.threshold.label":["Strictness"],"guardrails.definitions.llm_as_judge.param.threshold.tooltip":["Strictness on a 0–6 scale. Lower values are stricter — the judge flags anything that hints at a violation. Higher values are more lenient — only clear, unambiguous violations are flagged."],"guardrails.definitions.llm_as_judge.usage-note":["Judge model calls consume Agent units the same way the agent\'s own LLM calls do. Apply selectively to keep cost predictable, and choose the judge model with cost in mind — rates vary by model."],"guardrails.definitions.pii_detection.description":["Detect personally identifiable information using Azure Cognitive Services."],"guardrails.definitions.pii_detection.display-name":["PII detection"],"guardrails.definitions.pii_detection.option.entities.ABARoutingNumber":["ABA Routing Number"],"guardrails.definitions.pii_detection.option.entities.Address":["Address"],"guardrails.definitions.pii_detection.option.entities.CreditCardNumber":["Credit Card Number"],"guardrails.definitions.pii_detection.option.entities.DKPersonalIdentificationNumber":["Danish Personal Identification Number"],"guardrails.definitions.pii_detection.option.entities.Date":["Date"],"guardrails.definitions.pii_detection.option.entities.Email":["Email"],"guardrails.definitions.pii_detection.option.entities.EugpsCoordinates":["EU GPS Coordinates"],"guardrails.definitions.pii_detection.option.entities.FINationalID":["Finland National ID"],"guardrails.definitions.pii_detection.option.entities.FIPassportNumber":["Finland Passport Number"],"guardrails.definitions.pii_detection.option.entities.IPAddress":["IP Address"],"guardrails.definitions.pii_detection.option.entities.InternationalBankingAccountNumber":["International Banking Account Number (IBAN)"],"guardrails.definitions.pii_detection.option.entities.NLCitizensServiceNumber":["Netherlands Citizens Service Number"],"guardrails.definitions.pii_detection.option.entities.NOIdentityNumber":["Norway Identity Number"],"guardrails.definitions.pii_detection.option.entities.Person":["Person"],"guardrails.definitions.pii_detection.option.entities.PhoneNumber":["Phone Number"],"guardrails.definitions.pii_detection.option.entities.SENationalID":["Sweden National ID"],"guardrails.definitions.pii_detection.option.entities.SwiftCode":["SWIFT Code"],"guardrails.definitions.pii_detection.option.entities.UKDriversLicenseNumber":["UK Driver\'s License Number"],"guardrails.definitions.pii_detection.option.entities.UKUniqueTaxpayerNumber":["UK Unique Taxpayer Number (UTR)"],"guardrails.definitions.pii_detection.option.entities.URL":["URL"],"guardrails.definitions.pii_detection.option.entities.USBankAccountNumber":["US Bank Account Number"],"guardrails.definitions.pii_detection.option.entities.USDriversLicenseNumber":["US Driver\'s License Number"],"guardrails.definitions.pii_detection.option.entities.USIndividualTaxpayerIdentification":["US Individual Taxpayer Identification Number (ITIN)"],"guardrails.definitions.pii_detection.option.entities.USSocialSecurityNumber":["US Social Security Number (SSN)"],"guardrails.definitions.pii_detection.option.entities.UsukPassportNumber":["US/UK Passport Number"],"guardrails.definitions.pii_detection.param.entities.label":["Entities to detect"],"guardrails.definitions.pii_detection.param.entityThresholds.label":["Detection thresholds"],"guardrails.definitions.pii_detection.param.entityThresholds.tooltip":["Value between 0 and 1. The sensitivity level for PII detection. Higher thresholds detect more potential PII but may result in more false positives."],"guardrails.definitions.prompt_injection.description":["This validator is provided by Noma Security and is built to detect malicious attack attempts (e.g. prompt injection, jailbreak) in LLM calls."],"guardrails.definitions.prompt_injection.display-name":["Prompt injection"],"guardrails.definitions.prompt_injection.param.threshold.label":["Detection threshold"],"guardrails.definitions.prompt_injection.param.threshold.tooltip":["Value between 0 and 1. The sensitivity level for Prompt Injection detection. Higher thresholds detect more potential Prompt Injection but may result in more false positives."],"guardrails.definitions.user_prompt_attacks.description":["Detect user prompt attacks that attempt to bypass system instructions using Azure AI Content Safety."],"guardrails.definitions.user_prompt_attacks.display-name":["User prompt attacks"],"guardrails.form.add-item":["Add"],"guardrails.form.enum-list-placeholder":["Select options..."],"guardrails.form.enum-placeholder":["Select..."],"guardrails.form.max-error":["Must be at most ",["max"]],"guardrails.form.min-error":["Must be at least ",["min"]],"guardrails.form.more-information":["More information"],"guardrails.form.remove-item":["Remove ",["label"]," ",["position"]],"guardrails.form.required-error":["Value is required"],"loop-node.add-node":["Add node to loop"],"loop-node.execution-count.click-to-jump":["Click to jump to a specific iteration"],"loop-node.execution-count.click-to-return":["Click to return to individual iteration view"],"loop-node.execution-count.jump-to-failed":["Jump to first failed iteration"],"loop-node.execution-count.jump-to-iteration":["Jump to iteration ",["iterationNumber"]," (failed)"],"loop-node.execution-count.next-iteration":["Next iteration"],"loop-node.execution-count.previous-iteration":["Previous iteration"],"loop-node.execution-count.return-to-individual":["Return to individual iteration view"],"loop-node.execution-count.show-aggregate":["Show aggregate across all iterations"],"loop-node.mode.parallel":["Parallel"],"loop-node.mode.sequential":["Sequential"],"loop-node.title":["Loop"],"stage-node.add-first-task":["Add first task"],"stage-node.add-task":["Add task"],"stage-node.add-task-to-parallel-group-above":["Add task to parallel group above"],"stage-node.add-task-to-parallel-group-below":["Add task to parallel group below"],"stage-node.adhoc-tasks":["Manually triggered tasks"],"stage-node.create-parallel-group-with-task-above":["Create parallel group with task above"],"stage-node.create-parallel-group-with-task-below":["Create parallel group with task below"],"stage-node.delete-task":["Delete task"],"stage-node.event-driven-tasks":["Event-triggered tasks"],"stage-node.move-down":["Move down"],"stage-node.move-up":["Move up"],"stage-node.no-tasks":["No tasks"],"stage-node.parallel":["Parallel"],"stage-node.remove-from-parallel-group":["Remove from parallel group"],"stage-node.remove-group-from-stage":["Remove group from stage"],"stage-node.replace-task":["Replace task"],"stage-node.status.cancelled":["Cancelled"],"stage-node.status.completed":["Completed"],"stage-node.status.early-exit":["Early exit"],"stage-node.status.failed":["Failed"],"stage-node.status.in-progress":["In progress"],"stage-node.status.not-executed":["Not started"],"stage-node.status.paused":["Paused"],"stage-node.status.terminated":["Terminated"],"stage-node.status.warning":["Warning"],"stage-node.task-badge.ran-n-times":[["count","plural",{"one":["Ran ","#"," time"],"other":["Ran ","#"," times"]}]],"stage-node.task-badge.running-again":["Running again"],"stage-node.task-mocked":["This task\'s outputs are mocked"],"stage-node.ungroup-parallel-tasks":["Ungroup parallel tasks"],"stage-node.untitled-stage":["Untitled stage"],"sticky-note.formatting.bold":["Bold (",["boldShortcut"],")"],"sticky-note.formatting.bullet-list":["Bullet list"],"sticky-note.formatting.italic":["Italic (",["italicShortcut"],")"],"sticky-note.formatting.numbered-list":["Numbered list"],"sticky-note.formatting.strikethrough":["Strikethrough (",["strikethroughShortcut"],")"],"sticky-note.formatting.toolbar":["Text formatting"],"sticky-note.media.dialog.add-title":["Embed image or video"],"sticky-note.media.dialog.alt-help":["Describe the image for people who use screen readers."],"sticky-note.media.dialog.alt-label":["Alternative text"],"sticky-note.media.dialog.cancel":["Cancel"],"sticky-note.media.dialog.description":["Add a public link. Video supports YouTube and direct video files."],"sticky-note.media.dialog.edit-title":["Edit media"],"sticky-note.media.dialog.embed":["Embed media"],"sticky-note.media.dialog.full-width-help":["The image or video spans the available width of the sticky note."],"sticky-note.media.dialog.full-width-label":["Make full width"],"sticky-note.media.dialog.image-option":["Image"],"sticky-note.media.dialog.image-preview":["Image preview"],"sticky-note.media.dialog.image-url-help":["Use a public HTTPS image link."],"sticky-note.media.dialog.image-url-label":["Image URL"],"sticky-note.media.dialog.image-url-placeholder":["https://example.com/image.png"],"sticky-note.media.dialog.invalid-url":["Enter a valid public HTTPS URL"],"sticky-note.media.dialog.invalid-youtube":["Add a valid YouTube video URL"],"sticky-note.media.dialog.preview-unavailable":["We could not load a preview for this URL."],"sticky-note.media.dialog.save":["Save changes"],"sticky-note.media.dialog.type-label":["Media type"],"sticky-note.media.dialog.unsupported-video":["Add a YouTube URL or a direct public video file URL such as MP4"],"sticky-note.media.dialog.video-option":["Video"],"sticky-note.media.dialog.video-preview":["Video preview"],"sticky-note.media.dialog.video-url-help":["Use a YouTube link or a direct public HTTPS video file link."],"sticky-note.media.dialog.video-url-label":["Video URL"],"sticky-note.media.dialog.video-url-placeholder":["https://youtube.com/watch?v=… or https://example.com/video.mp4"],"sticky-note.media.edit":["Edit media"],"sticky-note.media.embed-action":["Embed image or video"],"sticky-note.media.image-unavailable":["Image unavailable"],"sticky-note.media.image-unavailable-label":["Image unavailable"],"sticky-note.media.play-video":["Play video"],"sticky-note.media.unavailable":["Media unavailable"],"sticky-note.media.video-label":["Embedded video"],"sticky-note.media.video-unavailable":["Video playback is unavailable."],"sticky-note.media.youtube-title":["YouTube video"],"sticky-note.toolbar.color":["Color"],"sticky-note.toolbar.delete":["Delete"],"sticky-note.toolbar.edit":["Edit"],"toolbox.search":["Search"],"toolbox.search.clear":["Clear search"]}');
2
2
  export { messages };