@bonsae/nrg 0.20.1 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/package.json +1 -1
- package/server/index.cjs +106 -86
- package/server/resources/nrg-client.js +2671 -2384
- package/test/client/component/setup.js +22 -21
- package/test/client/e2e/index.js +296 -52
- package/types/client.d.ts +18 -4
- package/types/server.d.ts +41 -24
- package/types/shims/client/types.d.ts +18 -4
- package/types/test-client-component.d.ts +10 -4
- package/types/test-client-unit.d.ts +10 -4
- package/vite/index.js +291 -51
package/types/server.d.ts
CHANGED
|
@@ -491,18 +491,26 @@ type InferOutputs<T> = T extends readonly TSchema[] ? {
|
|
|
491
491
|
} : any;
|
|
492
492
|
declare function NodeRef<T extends new (...args: any[]) => any>(nodeClass: T, options?: NrgSchemaOptions): TNodeRef<InstanceType<T>>;
|
|
493
493
|
declare function TypedInput$1<T = unknown>(options?: NrgSchemaOptions): TTypedInput<T>;
|
|
494
|
-
declare function
|
|
495
|
-
default?: string
|
|
496
|
-
}): import("@sinclair/typebox").TString
|
|
494
|
+
declare function OutputReturnProperties(options?: NrgSchemaOptions & {
|
|
495
|
+
default?: Record<number, string>;
|
|
496
|
+
}): import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString>;
|
|
497
|
+
declare function OutputContextModes(options?: NrgSchemaOptions & {
|
|
498
|
+
default?: Record<number, "carry" | "trace" | "reset">;
|
|
499
|
+
}): import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TUnion<[
|
|
500
|
+
import("@sinclair/typebox").TLiteral<"carry">,
|
|
501
|
+
import("@sinclair/typebox").TLiteral<"trace">,
|
|
502
|
+
import("@sinclair/typebox").TLiteral<"reset">
|
|
503
|
+
]>>;
|
|
497
504
|
/**
|
|
498
505
|
* Extended TypeBox type builder with NRG-specific schema types.
|
|
499
|
-
* Includes all standard TypeBox types plus {@link NodeRef}, {@link TypedInput}
|
|
500
|
-
* and {@link
|
|
506
|
+
* Includes all standard TypeBox types plus {@link NodeRef}, {@link TypedInput},
|
|
507
|
+
* {@link OutputReturnProperties} and {@link OutputContextModes}.
|
|
501
508
|
*/
|
|
502
509
|
export declare const SchemaType: import("@sinclair/typebox").JavaScriptTypeBuilder & {
|
|
503
510
|
NodeRef: typeof NodeRef;
|
|
504
511
|
TypedInput: typeof TypedInput$1;
|
|
505
|
-
|
|
512
|
+
OutputReturnProperties: typeof OutputReturnProperties;
|
|
513
|
+
OutputContextModes: typeof OutputContextModes;
|
|
506
514
|
};
|
|
507
515
|
/**
|
|
508
516
|
* Creates a validated object schema from a set of properties. Automatically
|
|
@@ -616,27 +624,32 @@ declare abstract class Node$1<TConfig = any, TCredentials = any, TSettings = any
|
|
|
616
624
|
}
|
|
617
625
|
/**
|
|
618
626
|
* Controls how an outgoing message carries the incoming message's context:
|
|
619
|
-
* - `"
|
|
620
|
-
* `input
|
|
621
|
-
*
|
|
622
|
-
*
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
627
|
+
* - `"carry"` (default): keep all incoming keys — including any upstream
|
|
628
|
+
* `input` — but do not record this node, so context flows through without the
|
|
629
|
+
* provenance chain growing. The safe default for loops and long chains.
|
|
630
|
+
* - `"trace"`: keep all incoming keys and also push the full input under
|
|
631
|
+
* `input`, so the prior message — including any value the result overwrites —
|
|
632
|
+
* stays recoverable (`msg.input.output`). The chain accumulates one frame per
|
|
633
|
+
* node, a provenance trail visible in the debug panel; opt in for linear
|
|
634
|
+
* flows that want full lineage.
|
|
626
635
|
* - `"reset"`: drop all inherited context; the outgoing message is only the
|
|
627
636
|
* result at the return key.
|
|
628
637
|
*/
|
|
629
|
-
export type ContextMode = "
|
|
638
|
+
export type ContextMode = "carry" | "trace" | "reset";
|
|
630
639
|
/**
|
|
631
640
|
* Base class for nodes that process messages. Provides input/output handling,
|
|
632
641
|
* schema validation, status updates, and emit port management.
|
|
633
642
|
*
|
|
634
643
|
* Every node has a return key (`"output"` by default): the value passed to
|
|
635
|
-
* `send()` is merged into the incoming message at that key
|
|
636
|
-
*
|
|
637
|
-
*
|
|
638
|
-
*
|
|
639
|
-
*
|
|
644
|
+
* `send()` is merged into the incoming message at that key
|
|
645
|
+
* (`{ ...msg, [returnKey]: result }`), so upstream properties propagate. By
|
|
646
|
+
* default the context is carried without growing; declaring
|
|
647
|
+
* `outputContextModes` in the `configSchema` lets the flow author pick `trace`
|
|
648
|
+
* (keep the full prior message under `input` as a recoverable provenance chain)
|
|
649
|
+
* or `reset` per port. The return key, output validation, and context mode all
|
|
650
|
+
* resolve per output port; declaring `outputReturnProperties` in the
|
|
651
|
+
* `configSchema` sets per-port default keys and lets the flow author pick a key
|
|
652
|
+
* other than `output` per port — it does not change that a return key always
|
|
640
653
|
* exists. `this.send(x)` always means "x is the result", never "x is the whole
|
|
641
654
|
* message".
|
|
642
655
|
*
|
|
@@ -648,7 +661,7 @@ export type ContextMode = "nest" | "carry" | "reset";
|
|
|
648
661
|
* static readonly color = "#ffffff" as const;
|
|
649
662
|
*
|
|
650
663
|
* async input(msg: Input) {
|
|
651
|
-
* // sends { ...msg, output: <result
|
|
664
|
+
* // sends { ...msg, output: <result> }
|
|
652
665
|
* this.send(msg.output.toUpperCase());
|
|
653
666
|
* }
|
|
654
667
|
* }
|
|
@@ -669,7 +682,7 @@ export declare abstract class IONode<TConfig = any, TCredentials = any, TInput =
|
|
|
669
682
|
constructor(RED: RED, node: NodeRedNode, config: IONodeConfig<TConfig>, credentials: IONodeCredentials<TCredentials>);
|
|
670
683
|
[WIRE_HANDLERS](nodeRedNode: NodeRedNode, createdPromise: Promise<void>): void;
|
|
671
684
|
input(msg: TInput): void | Promise<void>;
|
|
672
|
-
send(msg: TOutput
|
|
685
|
+
send(msg: TOutput): void;
|
|
673
686
|
get baseOutputs(): number;
|
|
674
687
|
get totalOutputs(): number;
|
|
675
688
|
/**
|
|
@@ -682,7 +695,7 @@ export declare abstract class IONode<TConfig = any, TCredentials = any, TInput =
|
|
|
682
695
|
* throw an error or call `this.error()` for the error port, and the complete
|
|
683
696
|
* port is sent automatically on successful input processing.
|
|
684
697
|
*/
|
|
685
|
-
sendToPort<P extends (TOutput extends Record<string, Record<string, any>> ? keyof TOutput & string : never) | number>(port: P, msg: P extends keyof TOutput ? TOutput[P] : unknown
|
|
698
|
+
sendToPort<P extends (TOutput extends Record<string, Record<string, any>> ? keyof TOutput & string : never) | number>(port: P, msg: P extends keyof TOutput ? TOutput[P] : unknown): void;
|
|
686
699
|
status(status: IONodeStatus): void;
|
|
687
700
|
error(message: string, msg?: any): void;
|
|
688
701
|
updateWires(wires: string[][]): void;
|
|
@@ -696,8 +709,12 @@ export declare abstract class IONode<TConfig = any, TCredentials = any, TInput =
|
|
|
696
709
|
type IONodeContextScope = NodeContextScope;
|
|
697
710
|
type IONodeConfig<TConfig = any> = NodeConfig<TConfig> & Static<typeof IONodeConfigSchema> & {
|
|
698
711
|
validateInput?: boolean;
|
|
699
|
-
|
|
700
|
-
|
|
712
|
+
/** Per-port output-validation flags, keyed by base-output port index. */
|
|
713
|
+
validateOutputs?: Record<number, boolean>;
|
|
714
|
+
/** Per-port return properties, keyed by base-output port index. */
|
|
715
|
+
outputReturnProperties?: Record<number, string>;
|
|
716
|
+
/** Per-port context modes, keyed by base-output port index. */
|
|
717
|
+
outputContextModes?: Record<number, "carry" | "trace" | "reset">;
|
|
701
718
|
};
|
|
702
719
|
type IONodeCredentials<TCredentials = any> = NodeCredentials<TCredentials>;
|
|
703
720
|
type IONodeStatus = {
|
|
@@ -68,14 +68,20 @@ export interface NodeRedNode {
|
|
|
68
68
|
outputs?: number;
|
|
69
69
|
/** injected when the node has an inputSchema */
|
|
70
70
|
validateInput?: boolean;
|
|
71
|
-
/** injected when the node has an outputsSchema */
|
|
72
|
-
validateOutput?: boolean;
|
|
73
|
-
/** present when the node's configSchema declares SchemaType.ReturnProperty() */
|
|
74
|
-
returnProperty?: string;
|
|
75
71
|
/** built-in port toggles, present when declared in the configSchema */
|
|
76
72
|
errorPort?: boolean;
|
|
77
73
|
completePort?: boolean;
|
|
78
74
|
statusPort?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Per-port output settings, indexed by base-output port. `validateOutputs` is
|
|
77
|
+
* injected (empty) when the node has an outputsSchema; `outputReturnProperties`
|
|
78
|
+
* and `outputContextModes` are author-declared (SchemaType.*) — present only
|
|
79
|
+
* when the node opts into per-port return keys / context modes. Read at
|
|
80
|
+
* runtime by IONode.
|
|
81
|
+
*/
|
|
82
|
+
validateOutputs?: Record<number, boolean>;
|
|
83
|
+
outputContextModes?: Record<number, "carry" | "trace" | "reset">;
|
|
84
|
+
outputReturnProperties?: Record<number, string>;
|
|
79
85
|
[key: string]: any;
|
|
80
86
|
}
|
|
81
87
|
export interface NodeDefinition {
|
|
@@ -170,6 +176,14 @@ export interface NodeCredentials {
|
|
|
170
176
|
export interface NodeFeatures {
|
|
171
177
|
hasInputSchema: boolean;
|
|
172
178
|
hasOutputSchema: boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Base output ports (excludes built-in error/complete/status), in port-index
|
|
181
|
+
* order. Drives the per-port context-mode rows in the Outputs subsection.
|
|
182
|
+
*/
|
|
183
|
+
outputPorts: {
|
|
184
|
+
index: number;
|
|
185
|
+
label: string;
|
|
186
|
+
}[];
|
|
173
187
|
}
|
|
174
188
|
/** Client-side representation of a TypedInput field: the raw value string and its type selector. */
|
|
175
189
|
export interface TypedInputValue {
|
|
@@ -80,14 +80,20 @@ interface NodeRedNode {
|
|
|
80
80
|
outputs?: number;
|
|
81
81
|
/** injected when the node has an inputSchema */
|
|
82
82
|
validateInput?: boolean;
|
|
83
|
-
/** injected when the node has an outputsSchema */
|
|
84
|
-
validateOutput?: boolean;
|
|
85
|
-
/** present when the node's configSchema declares SchemaType.ReturnProperty() */
|
|
86
|
-
returnProperty?: string;
|
|
87
83
|
/** built-in port toggles, present when declared in the configSchema */
|
|
88
84
|
errorPort?: boolean;
|
|
89
85
|
completePort?: boolean;
|
|
90
86
|
statusPort?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Per-port output settings, indexed by base-output port. `validateOutputs` is
|
|
89
|
+
* injected (empty) when the node has an outputsSchema; `outputReturnProperties`
|
|
90
|
+
* and `outputContextModes` are author-declared (SchemaType.*) — present only
|
|
91
|
+
* when the node opts into per-port return keys / context modes. Read at
|
|
92
|
+
* runtime by IONode.
|
|
93
|
+
*/
|
|
94
|
+
validateOutputs?: Record<number, boolean>;
|
|
95
|
+
outputContextModes?: Record<number, "carry" | "trace" | "reset">;
|
|
96
|
+
outputReturnProperties?: Record<number, string>;
|
|
91
97
|
[key: string]: any;
|
|
92
98
|
}
|
|
93
99
|
interface JsonPropertySchema extends JsonSchemaObjectExtensions {
|
|
@@ -155,14 +155,20 @@ interface NodeRedNode {
|
|
|
155
155
|
outputs?: number;
|
|
156
156
|
/** injected when the node has an inputSchema */
|
|
157
157
|
validateInput?: boolean;
|
|
158
|
-
/** injected when the node has an outputsSchema */
|
|
159
|
-
validateOutput?: boolean;
|
|
160
|
-
/** present when the node's configSchema declares SchemaType.ReturnProperty() */
|
|
161
|
-
returnProperty?: string;
|
|
162
158
|
/** built-in port toggles, present when declared in the configSchema */
|
|
163
159
|
errorPort?: boolean;
|
|
164
160
|
completePort?: boolean;
|
|
165
161
|
statusPort?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Per-port output settings, indexed by base-output port. `validateOutputs` is
|
|
164
|
+
* injected (empty) when the node has an outputsSchema; `outputReturnProperties`
|
|
165
|
+
* and `outputContextModes` are author-declared (SchemaType.*) — present only
|
|
166
|
+
* when the node opts into per-port return keys / context modes. Read at
|
|
167
|
+
* runtime by IONode.
|
|
168
|
+
*/
|
|
169
|
+
validateOutputs?: Record<number, boolean>;
|
|
170
|
+
outputContextModes?: Record<number, "carry" | "trace" | "reset">;
|
|
171
|
+
outputReturnProperties?: Record<number, string>;
|
|
166
172
|
[key: string]: any;
|
|
167
173
|
}
|
|
168
174
|
interface TypedInputValue {
|
package/vite/index.js
CHANGED
|
@@ -2038,113 +2038,353 @@ function localesGenerator(options) {
|
|
|
2038
2038
|
];
|
|
2039
2039
|
const frameworkLabels = {
|
|
2040
2040
|
"en-US": {
|
|
2041
|
-
configs: { name: "Name"
|
|
2041
|
+
configs: { name: "Name" },
|
|
2042
2042
|
toggles: {
|
|
2043
|
-
validateInput: "Validate
|
|
2044
|
-
validateOutput: "Validate Output",
|
|
2043
|
+
validateInput: "Validate",
|
|
2045
2044
|
errorPort: "Error Port",
|
|
2046
2045
|
completePort: "Complete Port",
|
|
2047
|
-
statusPort: "Status Port"
|
|
2048
|
-
|
|
2046
|
+
statusPort: "Status Port"
|
|
2047
|
+
},
|
|
2048
|
+
sections: {
|
|
2049
|
+
portsSettings: "Ports Settings",
|
|
2050
|
+
input: "Input",
|
|
2051
|
+
outputs: "Outputs",
|
|
2052
|
+
lifecyclePorts: "Lifecycle Ports"
|
|
2053
|
+
},
|
|
2054
|
+
outputs: {
|
|
2055
|
+
port: "Port",
|
|
2056
|
+
label: "Label",
|
|
2057
|
+
validate: "Validate",
|
|
2058
|
+
returnProperty: "Return Property",
|
|
2059
|
+
contextMode: "Context Mode"
|
|
2060
|
+
},
|
|
2061
|
+
contextModes: {
|
|
2062
|
+
modes: {
|
|
2063
|
+
carry: "carry",
|
|
2064
|
+
trace: "trace",
|
|
2065
|
+
reset: "reset"
|
|
2066
|
+
}
|
|
2067
|
+
},
|
|
2068
|
+
help: {
|
|
2069
|
+
validateInput: "Validate incoming messages against the input schema before input() runs.",
|
|
2070
|
+
outputs: "Per-port output settings. Validate checks the sent value against the port's schema; Context Mode controls how the incoming message is carried.",
|
|
2071
|
+
lifecyclePorts: "Optional extra output ports that fire on error, on completion, and on every status change.",
|
|
2072
|
+
learnMore: "Learn more"
|
|
2049
2073
|
}
|
|
2050
2074
|
},
|
|
2051
2075
|
de: {
|
|
2052
|
-
configs: { name: "Name"
|
|
2076
|
+
configs: { name: "Name" },
|
|
2053
2077
|
toggles: {
|
|
2054
|
-
validateInput: "
|
|
2055
|
-
validateOutput: "Ausgabe validieren",
|
|
2078
|
+
validateInput: "Validieren",
|
|
2056
2079
|
errorPort: "Fehler-Port",
|
|
2057
2080
|
completePort: "Abschluss-Port",
|
|
2058
|
-
statusPort: "Status-Port"
|
|
2059
|
-
|
|
2081
|
+
statusPort: "Status-Port"
|
|
2082
|
+
},
|
|
2083
|
+
sections: {
|
|
2084
|
+
portsSettings: "Port-Einstellungen",
|
|
2085
|
+
input: "Eingang",
|
|
2086
|
+
outputs: "Ausg\xE4nge",
|
|
2087
|
+
lifecyclePorts: "Lebenszyklus-Ports"
|
|
2088
|
+
},
|
|
2089
|
+
outputs: {
|
|
2090
|
+
port: "Port",
|
|
2091
|
+
label: "Bezeichnung",
|
|
2092
|
+
validate: "Validieren",
|
|
2093
|
+
returnProperty: "R\xFCckgabe-Eigenschaft",
|
|
2094
|
+
contextMode: "Kontextmodus"
|
|
2095
|
+
},
|
|
2096
|
+
contextModes: {
|
|
2097
|
+
modes: {
|
|
2098
|
+
carry: "carry",
|
|
2099
|
+
trace: "trace",
|
|
2100
|
+
reset: "reset"
|
|
2101
|
+
}
|
|
2102
|
+
},
|
|
2103
|
+
help: {
|
|
2104
|
+
validateInput: "Eingehende Nachrichten vor dem Ausf\xFChren von input() gegen das Eingabe-Schema validieren.",
|
|
2105
|
+
outputs: "Ausgabe-Einstellungen pro Port. Validieren pr\xFCft den gesendeten Wert gegen das Schema des Ports; Kontextmodus steuert, wie die eingehende Nachricht \xFCbertragen wird.",
|
|
2106
|
+
lifecyclePorts: "Optionale zus\xE4tzliche Ausg\xE4nge, die bei Fehler, Abschluss und jeder Status\xE4nderung ausl\xF6sen.",
|
|
2107
|
+
learnMore: "Mehr erfahren"
|
|
2060
2108
|
}
|
|
2061
2109
|
},
|
|
2062
2110
|
"es-ES": {
|
|
2063
|
-
configs: { name: "Nombre"
|
|
2111
|
+
configs: { name: "Nombre" },
|
|
2064
2112
|
toggles: {
|
|
2065
|
-
validateInput: "Validar
|
|
2066
|
-
validateOutput: "Validar salida",
|
|
2113
|
+
validateInput: "Validar",
|
|
2067
2114
|
errorPort: "Puerto de error",
|
|
2068
2115
|
completePort: "Puerto de completado",
|
|
2069
|
-
statusPort: "Puerto de estado"
|
|
2070
|
-
|
|
2116
|
+
statusPort: "Puerto de estado"
|
|
2117
|
+
},
|
|
2118
|
+
sections: {
|
|
2119
|
+
portsSettings: "Configuraci\xF3n de puertos",
|
|
2120
|
+
input: "Entrada",
|
|
2121
|
+
outputs: "Salidas",
|
|
2122
|
+
lifecyclePorts: "Puertos de ciclo de vida"
|
|
2123
|
+
},
|
|
2124
|
+
outputs: {
|
|
2125
|
+
port: "Puerto",
|
|
2126
|
+
label: "Etiqueta",
|
|
2127
|
+
validate: "Validar",
|
|
2128
|
+
returnProperty: "Propiedad de retorno",
|
|
2129
|
+
contextMode: "Modo de contexto"
|
|
2130
|
+
},
|
|
2131
|
+
contextModes: {
|
|
2132
|
+
modes: {
|
|
2133
|
+
carry: "carry",
|
|
2134
|
+
trace: "trace",
|
|
2135
|
+
reset: "reset"
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2138
|
+
help: {
|
|
2139
|
+
validateInput: "Valida los mensajes entrantes con el esquema de entrada antes de ejecutar input().",
|
|
2140
|
+
outputs: "Ajustes de salida por puerto. Validar comprueba el valor enviado con el esquema del puerto; Modo de contexto controla c\xF3mo se transporta el mensaje entrante.",
|
|
2141
|
+
lifecyclePorts: "Puertos de salida adicionales opcionales que se activan en error, al completar y en cada cambio de estado.",
|
|
2142
|
+
learnMore: "M\xE1s informaci\xF3n"
|
|
2071
2143
|
}
|
|
2072
2144
|
},
|
|
2073
2145
|
fr: {
|
|
2074
|
-
configs: { name: "Nom"
|
|
2146
|
+
configs: { name: "Nom" },
|
|
2075
2147
|
toggles: {
|
|
2076
|
-
validateInput: "Valider
|
|
2077
|
-
validateOutput: "Valider la sortie",
|
|
2148
|
+
validateInput: "Valider",
|
|
2078
2149
|
errorPort: "Port d'erreur",
|
|
2079
2150
|
completePort: "Port de compl\xE9tion",
|
|
2080
|
-
statusPort: "Port de statut"
|
|
2081
|
-
|
|
2151
|
+
statusPort: "Port de statut"
|
|
2152
|
+
},
|
|
2153
|
+
sections: {
|
|
2154
|
+
portsSettings: "Param\xE8tres des ports",
|
|
2155
|
+
input: "Entr\xE9e",
|
|
2156
|
+
outputs: "Sorties",
|
|
2157
|
+
lifecyclePorts: "Ports de cycle de vie"
|
|
2158
|
+
},
|
|
2159
|
+
outputs: {
|
|
2160
|
+
port: "Port",
|
|
2161
|
+
label: "Libell\xE9",
|
|
2162
|
+
validate: "Valider",
|
|
2163
|
+
returnProperty: "Propri\xE9t\xE9 de retour",
|
|
2164
|
+
contextMode: "Mode de contexte"
|
|
2165
|
+
},
|
|
2166
|
+
contextModes: {
|
|
2167
|
+
modes: {
|
|
2168
|
+
carry: "carry",
|
|
2169
|
+
trace: "trace",
|
|
2170
|
+
reset: "reset"
|
|
2171
|
+
}
|
|
2172
|
+
},
|
|
2173
|
+
help: {
|
|
2174
|
+
validateInput: "Valide les messages entrants avec le sch\xE9ma d'entr\xE9e avant l'ex\xE9cution de input().",
|
|
2175
|
+
outputs: "R\xE9glages de sortie par port. Valider v\xE9rifie la valeur envoy\xE9e avec le sch\xE9ma du port ; Mode de contexte contr\xF4le la fa\xE7on dont le message entrant est transmis.",
|
|
2176
|
+
lifecyclePorts: "Ports de sortie suppl\xE9mentaires optionnels d\xE9clench\xE9s en cas d'erreur, \xE0 la fin et \xE0 chaque changement de statut.",
|
|
2177
|
+
learnMore: "En savoir plus"
|
|
2082
2178
|
}
|
|
2083
2179
|
},
|
|
2084
2180
|
ko: {
|
|
2085
|
-
configs: { name: "\uC774\uB984"
|
|
2181
|
+
configs: { name: "\uC774\uB984" },
|
|
2086
2182
|
toggles: {
|
|
2087
|
-
validateInput: "\
|
|
2088
|
-
validateOutput: "\uCD9C\uB825 \uAC80\uC99D",
|
|
2183
|
+
validateInput: "\uAC80\uC99D",
|
|
2089
2184
|
errorPort: "\uC624\uB958 \uD3EC\uD2B8",
|
|
2090
2185
|
completePort: "\uC644\uB8CC \uD3EC\uD2B8",
|
|
2091
|
-
statusPort: "\uC0C1\uD0DC \uD3EC\uD2B8"
|
|
2092
|
-
|
|
2186
|
+
statusPort: "\uC0C1\uD0DC \uD3EC\uD2B8"
|
|
2187
|
+
},
|
|
2188
|
+
sections: {
|
|
2189
|
+
portsSettings: "\uD3EC\uD2B8 \uC124\uC815",
|
|
2190
|
+
input: "\uC785\uB825",
|
|
2191
|
+
outputs: "\uCD9C\uB825",
|
|
2192
|
+
lifecyclePorts: "\uC218\uBA85 \uC8FC\uAE30 \uD3EC\uD2B8"
|
|
2193
|
+
},
|
|
2194
|
+
outputs: {
|
|
2195
|
+
port: "\uD3EC\uD2B8",
|
|
2196
|
+
label: "\uB808\uC774\uBE14",
|
|
2197
|
+
validate: "\uAC80\uC99D",
|
|
2198
|
+
returnProperty: "\uBC18\uD658 \uC18D\uC131",
|
|
2199
|
+
contextMode: "\uCEE8\uD14D\uC2A4\uD2B8 \uBAA8\uB4DC"
|
|
2200
|
+
},
|
|
2201
|
+
contextModes: {
|
|
2202
|
+
modes: {
|
|
2203
|
+
carry: "carry",
|
|
2204
|
+
trace: "trace",
|
|
2205
|
+
reset: "reset"
|
|
2206
|
+
}
|
|
2207
|
+
},
|
|
2208
|
+
help: {
|
|
2209
|
+
validateInput: "input() \uC2E4\uD589 \uC804\uC5D0 \uB4E4\uC5B4\uC624\uB294 \uBA54\uC2DC\uC9C0\uB97C \uC785\uB825 \uC2A4\uD0A4\uB9C8\uB85C \uAC80\uC99D\uD569\uB2C8\uB2E4.",
|
|
2210
|
+
outputs: "\uD3EC\uD2B8\uBCC4 \uCD9C\uB825 \uC124\uC815. \uAC80\uC99D\uC740 \uC804\uC1A1 \uAC12\uC744 \uD3EC\uD2B8 \uC2A4\uD0A4\uB9C8\uB85C \uD655\uC778\uD558\uACE0, \uCEE8\uD14D\uC2A4\uD2B8 \uBAA8\uB4DC\uB294 \uB4E4\uC5B4\uC628 \uBA54\uC2DC\uC9C0\uB97C \uC804\uB2EC\uD558\uB294 \uBC29\uC2DD\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.",
|
|
2211
|
+
lifecyclePorts: "\uC624\uB958, \uC644\uB8CC, \uBAA8\uB4E0 \uC0C1\uD0DC \uBCC0\uACBD \uC2DC \uBC1C\uC0DD\uD558\uB294 \uC120\uD0DD\uC801 \uCD94\uAC00 \uCD9C\uB825 \uD3EC\uD2B8\uC785\uB2C8\uB2E4.",
|
|
2212
|
+
learnMore: "\uC790\uC138\uD788 \uBCF4\uAE30"
|
|
2093
2213
|
}
|
|
2094
2214
|
},
|
|
2095
2215
|
"pt-BR": {
|
|
2096
|
-
configs: { name: "Nome"
|
|
2216
|
+
configs: { name: "Nome" },
|
|
2097
2217
|
toggles: {
|
|
2098
|
-
validateInput: "Validar
|
|
2099
|
-
validateOutput: "Validar Sa\xEDda",
|
|
2218
|
+
validateInput: "Validar",
|
|
2100
2219
|
errorPort: "Porta de Erro",
|
|
2101
2220
|
completePort: "Porta de Conclus\xE3o",
|
|
2102
|
-
statusPort: "Porta de Status"
|
|
2103
|
-
|
|
2221
|
+
statusPort: "Porta de Status"
|
|
2222
|
+
},
|
|
2223
|
+
sections: {
|
|
2224
|
+
portsSettings: "Configura\xE7\xF5es de portas",
|
|
2225
|
+
input: "Entrada",
|
|
2226
|
+
outputs: "Sa\xEDdas",
|
|
2227
|
+
lifecyclePorts: "Portas de ciclo de vida"
|
|
2228
|
+
},
|
|
2229
|
+
outputs: {
|
|
2230
|
+
port: "Porta",
|
|
2231
|
+
label: "R\xF3tulo",
|
|
2232
|
+
validate: "Validar",
|
|
2233
|
+
returnProperty: "Propriedade de retorno",
|
|
2234
|
+
contextMode: "Modo de contexto"
|
|
2235
|
+
},
|
|
2236
|
+
contextModes: {
|
|
2237
|
+
modes: {
|
|
2238
|
+
carry: "carry",
|
|
2239
|
+
trace: "trace",
|
|
2240
|
+
reset: "reset"
|
|
2241
|
+
}
|
|
2242
|
+
},
|
|
2243
|
+
help: {
|
|
2244
|
+
validateInput: "Valida as mensagens recebidas com o esquema de entrada antes de input() executar.",
|
|
2245
|
+
outputs: "Configura\xE7\xF5es de sa\xEDda por porta. Validar verifica o valor enviado com o esquema da porta; Modo de contexto controla como a mensagem recebida \xE9 transportada.",
|
|
2246
|
+
lifecyclePorts: "Portas de sa\xEDda extras opcionais que disparam em erro, na conclus\xE3o e a cada mudan\xE7a de status.",
|
|
2247
|
+
learnMore: "Saiba mais"
|
|
2104
2248
|
}
|
|
2105
2249
|
},
|
|
2106
2250
|
ru: {
|
|
2107
|
-
configs: { name: "\u0418\u043C\u044F"
|
|
2251
|
+
configs: { name: "\u0418\u043C\u044F" },
|
|
2108
2252
|
toggles: {
|
|
2109
|
-
validateInput: "\u041F\u0440\u043E\u0432\u0435\u0440\
|
|
2110
|
-
validateOutput: "\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0432\u044B\u0445\u043E\u0434",
|
|
2253
|
+
validateInput: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C",
|
|
2111
2254
|
errorPort: "\u041F\u043E\u0440\u0442 \u043E\u0448\u0438\u0431\u043A\u0438",
|
|
2112
2255
|
completePort: "\u041F\u043E\u0440\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",
|
|
2113
|
-
statusPort: "\u041F\u043E\u0440\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430"
|
|
2114
|
-
|
|
2256
|
+
statusPort: "\u041F\u043E\u0440\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430"
|
|
2257
|
+
},
|
|
2258
|
+
sections: {
|
|
2259
|
+
portsSettings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u043E\u0440\u0442\u043E\u0432",
|
|
2260
|
+
input: "\u0412\u0445\u043E\u0434",
|
|
2261
|
+
outputs: "\u0412\u044B\u0445\u043E\u0434\u044B",
|
|
2262
|
+
lifecyclePorts: "\u041F\u043E\u0440\u0442\u044B \u0436\u0438\u0437\u043D\u0435\u043D\u043D\u043E\u0433\u043E \u0446\u0438\u043A\u043B\u0430"
|
|
2263
|
+
},
|
|
2264
|
+
outputs: {
|
|
2265
|
+
port: "\u041F\u043E\u0440\u0442",
|
|
2266
|
+
label: "\u041C\u0435\u0442\u043A\u0430",
|
|
2267
|
+
validate: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C",
|
|
2268
|
+
returnProperty: "\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0430",
|
|
2269
|
+
contextMode: "\u0420\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430"
|
|
2270
|
+
},
|
|
2271
|
+
contextModes: {
|
|
2272
|
+
modes: {
|
|
2273
|
+
carry: "carry",
|
|
2274
|
+
trace: "trace",
|
|
2275
|
+
reset: "reset"
|
|
2276
|
+
}
|
|
2277
|
+
},
|
|
2278
|
+
help: {
|
|
2279
|
+
validateInput: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C \u0432\u0445\u043E\u0434\u044F\u0449\u0438\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043F\u043E \u0441\u0445\u0435\u043C\u0435 \u0432\u0432\u043E\u0434\u0430 \u043F\u0435\u0440\u0435\u0434 \u0432\u044B\u0437\u043E\u0432\u043E\u043C input().",
|
|
2280
|
+
outputs: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0432\u044B\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043F\u043E\u0440\u0442\u0430. \xAB\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C\xBB \u0441\u0432\u0435\u0440\u044F\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E \u0441\u0445\u0435\u043C\u043E\u0439 \u043F\u043E\u0440\u0442\u0430; \xAB\u0420\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430\xBB \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043A\u0430\u043A \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u0441\u044F \u0432\u0445\u043E\u0434\u044F\u0449\u0435\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435.",
|
|
2281
|
+
lifecyclePorts: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435 \u043F\u043E\u0440\u0442\u044B, \u0441\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0449\u0438\u0435 \u043F\u0440\u0438 \u043E\u0448\u0438\u0431\u043A\u0435, \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u0438 \u043A\u0430\u0436\u0434\u043E\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430.",
|
|
2282
|
+
learnMore: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435"
|
|
2115
2283
|
}
|
|
2116
2284
|
},
|
|
2117
2285
|
ja: {
|
|
2118
|
-
configs: { name: "\u540D\u524D"
|
|
2286
|
+
configs: { name: "\u540D\u524D" },
|
|
2119
2287
|
toggles: {
|
|
2120
|
-
validateInput: "\
|
|
2121
|
-
validateOutput: "\u51FA\u529B\u691C\u8A3C",
|
|
2288
|
+
validateInput: "\u691C\u8A3C",
|
|
2122
2289
|
errorPort: "\u30A8\u30E9\u30FC\u30DD\u30FC\u30C8",
|
|
2123
2290
|
completePort: "\u5B8C\u4E86\u30DD\u30FC\u30C8",
|
|
2124
|
-
statusPort: "\u30B9\u30C6\u30FC\u30BF\u30B9\u30DD\u30FC\u30C8"
|
|
2125
|
-
|
|
2291
|
+
statusPort: "\u30B9\u30C6\u30FC\u30BF\u30B9\u30DD\u30FC\u30C8"
|
|
2292
|
+
},
|
|
2293
|
+
sections: {
|
|
2294
|
+
portsSettings: "\u30DD\u30FC\u30C8\u8A2D\u5B9A",
|
|
2295
|
+
input: "\u5165\u529B",
|
|
2296
|
+
outputs: "\u51FA\u529B",
|
|
2297
|
+
lifecyclePorts: "\u30E9\u30A4\u30D5\u30B5\u30A4\u30AF\u30EB\u30DD\u30FC\u30C8"
|
|
2298
|
+
},
|
|
2299
|
+
outputs: {
|
|
2300
|
+
port: "\u30DD\u30FC\u30C8",
|
|
2301
|
+
label: "\u30E9\u30D9\u30EB",
|
|
2302
|
+
validate: "\u691C\u8A3C",
|
|
2303
|
+
returnProperty: "\u623B\u308A\u30D7\u30ED\u30D1\u30C6\u30A3",
|
|
2304
|
+
contextMode: "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E2\u30FC\u30C9"
|
|
2305
|
+
},
|
|
2306
|
+
contextModes: {
|
|
2307
|
+
modes: {
|
|
2308
|
+
carry: "carry",
|
|
2309
|
+
trace: "trace",
|
|
2310
|
+
reset: "reset"
|
|
2311
|
+
}
|
|
2312
|
+
},
|
|
2313
|
+
help: {
|
|
2314
|
+
validateInput: "input() \u306E\u5B9F\u884C\u524D\u306B\u3001\u53D7\u4FE1\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u5165\u529B\u30B9\u30AD\u30FC\u30DE\u3067\u691C\u8A3C\u3057\u307E\u3059\u3002",
|
|
2315
|
+
outputs: "\u30DD\u30FC\u30C8\u3054\u3068\u306E\u51FA\u529B\u8A2D\u5B9A\u3002\u691C\u8A3C\u306F\u9001\u4FE1\u5024\u3092\u30DD\u30FC\u30C8\u306E\u30B9\u30AD\u30FC\u30DE\u3067\u78BA\u8A8D\u3057\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E2\u30FC\u30C9\u306F\u53D7\u4FE1\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u5F15\u304D\u7D99\u304E\u65B9\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002",
|
|
2316
|
+
lifecyclePorts: "\u30A8\u30E9\u30FC\u6642\u30FB\u5B8C\u4E86\u6642\u30FB\u30B9\u30C6\u30FC\u30BF\u30B9\u5909\u66F4\u3054\u3068\u306B\u767A\u706B\u3059\u308B\u4EFB\u610F\u306E\u8FFD\u52A0\u51FA\u529B\u30DD\u30FC\u30C8\u3002",
|
|
2317
|
+
learnMore: "\u8A73\u7D30"
|
|
2126
2318
|
}
|
|
2127
2319
|
},
|
|
2128
2320
|
"zh-CN": {
|
|
2129
|
-
configs: { name: "\u540D\u79F0"
|
|
2321
|
+
configs: { name: "\u540D\u79F0" },
|
|
2130
2322
|
toggles: {
|
|
2131
|
-
validateInput: "\u9A8C\u8BC1
|
|
2132
|
-
validateOutput: "\u9A8C\u8BC1\u8F93\u51FA",
|
|
2323
|
+
validateInput: "\u9A8C\u8BC1",
|
|
2133
2324
|
errorPort: "\u9519\u8BEF\u7AEF\u53E3",
|
|
2134
2325
|
completePort: "\u5B8C\u6210\u7AEF\u53E3",
|
|
2135
|
-
statusPort: "\u72B6\u6001\u7AEF\u53E3"
|
|
2136
|
-
|
|
2326
|
+
statusPort: "\u72B6\u6001\u7AEF\u53E3"
|
|
2327
|
+
},
|
|
2328
|
+
sections: {
|
|
2329
|
+
portsSettings: "\u7AEF\u53E3\u8BBE\u7F6E",
|
|
2330
|
+
input: "\u8F93\u5165",
|
|
2331
|
+
outputs: "\u8F93\u51FA",
|
|
2332
|
+
lifecyclePorts: "\u751F\u547D\u5468\u671F\u7AEF\u53E3"
|
|
2333
|
+
},
|
|
2334
|
+
outputs: {
|
|
2335
|
+
port: "\u7AEF\u53E3",
|
|
2336
|
+
label: "\u6807\u7B7E",
|
|
2337
|
+
validate: "\u9A8C\u8BC1",
|
|
2338
|
+
returnProperty: "\u8FD4\u56DE\u5C5E\u6027",
|
|
2339
|
+
contextMode: "\u4E0A\u4E0B\u6587\u6A21\u5F0F"
|
|
2340
|
+
},
|
|
2341
|
+
contextModes: {
|
|
2342
|
+
modes: {
|
|
2343
|
+
carry: "carry",
|
|
2344
|
+
trace: "trace",
|
|
2345
|
+
reset: "reset"
|
|
2346
|
+
}
|
|
2347
|
+
},
|
|
2348
|
+
help: {
|
|
2349
|
+
validateInput: "\u5728 input() \u8FD0\u884C\u524D\uFF0C\u6839\u636E\u8F93\u5165\u6A21\u5F0F\u6821\u9A8C\u4F20\u5165\u6D88\u606F\u3002",
|
|
2350
|
+
outputs: "\u6309\u7AEF\u53E3\u7684\u8F93\u51FA\u8BBE\u7F6E\u3002\u9A8C\u8BC1\u6839\u636E\u7AEF\u53E3\u6A21\u5F0F\u6821\u9A8C\u53D1\u9001\u7684\u503C\uFF1B\u4E0A\u4E0B\u6587\u6A21\u5F0F\u63A7\u5236\u5982\u4F55\u643A\u5E26\u4F20\u5165\u6D88\u606F\u3002",
|
|
2351
|
+
lifecyclePorts: "\u53EF\u9009\u7684\u989D\u5916\u8F93\u51FA\u7AEF\u53E3\uFF0C\u5728\u51FA\u9519\u3001\u5B8C\u6210\u4EE5\u53CA\u6BCF\u6B21\u72B6\u6001\u53D8\u5316\u65F6\u89E6\u53D1\u3002",
|
|
2352
|
+
learnMore: "\u4E86\u89E3\u66F4\u591A"
|
|
2137
2353
|
}
|
|
2138
2354
|
},
|
|
2139
2355
|
"zh-TW": {
|
|
2140
|
-
configs: { name: "\u540D\u7A31"
|
|
2356
|
+
configs: { name: "\u540D\u7A31" },
|
|
2141
2357
|
toggles: {
|
|
2142
|
-
validateInput: "\u9A57\u8B49
|
|
2143
|
-
validateOutput: "\u9A57\u8B49\u8F38\u51FA",
|
|
2358
|
+
validateInput: "\u9A57\u8B49",
|
|
2144
2359
|
errorPort: "\u932F\u8AA4\u7AEF\u53E3",
|
|
2145
2360
|
completePort: "\u5B8C\u6210\u7AEF\u53E3",
|
|
2146
|
-
statusPort: "\u72C0\u614B\u7AEF\u53E3"
|
|
2147
|
-
|
|
2361
|
+
statusPort: "\u72C0\u614B\u7AEF\u53E3"
|
|
2362
|
+
},
|
|
2363
|
+
sections: {
|
|
2364
|
+
portsSettings: "\u7AEF\u53E3\u8A2D\u5B9A",
|
|
2365
|
+
input: "\u8F38\u5165",
|
|
2366
|
+
outputs: "\u8F38\u51FA",
|
|
2367
|
+
lifecyclePorts: "\u751F\u547D\u9031\u671F\u7AEF\u53E3"
|
|
2368
|
+
},
|
|
2369
|
+
outputs: {
|
|
2370
|
+
port: "\u7AEF\u53E3",
|
|
2371
|
+
label: "\u6A19\u7C64",
|
|
2372
|
+
validate: "\u9A57\u8B49",
|
|
2373
|
+
returnProperty: "\u8FD4\u56DE\u5C6C\u6027",
|
|
2374
|
+
contextMode: "\u5167\u5BB9\u6A21\u5F0F"
|
|
2375
|
+
},
|
|
2376
|
+
contextModes: {
|
|
2377
|
+
modes: {
|
|
2378
|
+
carry: "carry",
|
|
2379
|
+
trace: "trace",
|
|
2380
|
+
reset: "reset"
|
|
2381
|
+
}
|
|
2382
|
+
},
|
|
2383
|
+
help: {
|
|
2384
|
+
validateInput: "\u5728 input() \u57F7\u884C\u524D\uFF0C\u4F9D\u8F38\u5165\u7D50\u69CB\u63CF\u8FF0\u9A57\u8B49\u50B3\u5165\u8A0A\u606F\u3002",
|
|
2385
|
+
outputs: "\u4F9D\u9023\u63A5\u57E0\u7684\u8F38\u51FA\u8A2D\u5B9A\u3002\u9A57\u8B49\u4F9D\u9023\u63A5\u57E0\u7D50\u69CB\u63CF\u8FF0\u6AA2\u67E5\u9001\u51FA\u7684\u503C\uFF1B\u5167\u5BB9\u6A21\u5F0F\u63A7\u5236\u5982\u4F55\u651C\u5E36\u50B3\u5165\u8A0A\u606F\u3002",
|
|
2386
|
+
lifecyclePorts: "\u53EF\u9078\u7684\u984D\u5916\u8F38\u51FA\u9023\u63A5\u57E0\uFF0C\u5728\u767C\u751F\u932F\u8AA4\u3001\u5B8C\u6210\u4EE5\u53CA\u6BCF\u6B21\u72C0\u614B\u8B8A\u66F4\u6642\u89F8\u767C\u3002",
|
|
2387
|
+
learnMore: "\u77AD\u89E3\u66F4\u591A"
|
|
2148
2388
|
}
|
|
2149
2389
|
}
|
|
2150
2390
|
};
|
|
@@ -2351,7 +2591,7 @@ function nodeDefinitionsInliner(serverOutDir, entryPath, iconsDir, componentsDir
|
|
|
2351
2591
|
defaults.validateInput = { required: false, value: false };
|
|
2352
2592
|
}
|
|
2353
2593
|
if (defaults && outputsSchema) {
|
|
2354
|
-
defaults.
|
|
2594
|
+
defaults.validateOutputs = { required: false, value: {} };
|
|
2355
2595
|
}
|
|
2356
2596
|
const credentials = getCredentialsFromSchema(credentialsSchema);
|
|
2357
2597
|
_definitions[type] = {
|