Skip to content

Rule Chain Behavior Manifest

Scanned

  • Frontend files: 39
  • Backend files: 35
  • Total files: 74

Pages

  • Rule Chains (/rulechains)
  • Rule Chain Editor (/rulechains/:id)

Forms

  • Name (name)
  • Description (description)
  • Enabled (enabled)
  • Protocol (protocol)
  • Target Mode (target-mode)
  • Batch Mode (batch-mode)
  • Devices (devices)
  • Interval (interval)
  • Keys (keys)

Flows

  • create-rulechain
    • Open the rule chains area.
    • Click New Rule Chain.
    • Enter name and configuration.
    • Configure targets and keys.
    • Save the rule chain.
  • edit-rulechain
    • Open an existing rule chain.
    • Modify the configuration.
    • Save the changes.
  • delete-rulechain
    • Locate a rule chain in the list.
    • Click Delete.
    • Confirm the deletion.
  • start-rulechain
    • Open the editor.
    • Review the rule chain configuration.
    • Click Save & Start.
  • pause-rulechain
    • Locate an active rule chain.
    • Click Pause.
    • The rule chain changes to paused state.
  • preview-rulechain
    • Open the editor.
    • Configure the generator settings.
    • Click Preview.
    • Review the sample payload.

Tables

  • rulechains-table: Name, Type, Protocol, Targets, Keys, Interval, Status, Last Run, Actions

Constraints

  • Name is required before saving.
  • At least one device must be selected.
  • At least one key must be configured.
  • Rule chain must be saved before it can be started.
  • Only active rule chains can be paused.

Unknowns

  • None

Available Pages") lines.push("") pages.forEach((page) => const name = String

  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • Params from "react-router-dom" createRuleChain, getRuleChain, pauseRuleChain, previewRuleChain, startRuleChain, updateRuleChain, from "../../../api/ruleChains"
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • Partial< name: string description: string enabled: boolean status: RuleChainStatus config: RuleChainConfig > return id:
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/api/ruleChains.ts
    • CreateRuleChainPayload, PreviewRuleChainPayload, RuleChain, RuleChainPreviewResponse, RuleChainSummary, UpdateRuleChainPayload, from "../features/rule-chains/types/ruleChain.types"
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Preview/i, /Save Draft/i, /Save & Start/i], requireAllRegexes: false, , ]) if (editorEvidence.length) items.push( id: "rulechain-editor", name: "
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • ================ */ private renderEditor(manifest: RuleChainBehaviorManifest): string | null const lines: string[] = [] const previewFlow = this.getFlow(manifest, "preview-rulechain") const formFields = this.uniqueNonEmpty( (manifest.forms || []).map((f) => f?
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • on onClick= () => handleSave("draft") loading= saving && actionLoading === "save" > Save Draft <Button type="primary" onClick= handleStart loading= saving && actionLoading === "start" > Save & Start
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • ) addFlow( "create-rulechain", "Create Rule Chain", [ "Open the rule chains area.", "Click New Rule Chain.", "Enter name and configuration.", "Configure targets and keys.", "Save the rule chain.", ], this.findEvidenceInFiles(files, [ filePathIncludes: ["R
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • idenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Preview/i, /Save Draft/i, /Save & Start/i], requireAllRegexes: false, , ]) if (editorEvidence.length) items.push( id: "rulechain-editor", name: "Rule Chain
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • es(files, [ filePathIncludes: ["RuleChainsPage", "rulechain", "rule-chain"], regexes: [/Rule Chains/i, /columns/i, /Delete/i], requireAllRegexes: false, , ]) if (listEvidence.length) items.push( id: "rulechains-list", name: "Rule Chains", routeHint: "/rulechai
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • const createFlow = this.getFlow(manifest, "create-rulechain") const editFlow = this.getFlow(manifest, "edit-rulechain") const deleteFlow = this.getFlow(manifest, "delete-rulechain") const startFlow = this.getFlow(manifest, "start-rulechain") const pauseFlow =
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • type="primary" onClick= handleStart loading= saving && actionLoading === "start" > Save & Start isEdit && status === "active" ? ( <Button onClick= handlePause loading= actionLoading === "pause" >
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • iles, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Preview/i, /Save Draft/i, /Save & Start/i], requireAllRegexes: false, , ]) if (editorEvidence.length) items.push( id: "rulechain-editor", name: "Rule Chain Editor", routeH
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/components/RuleChainStatusBadge.tsx
    • const colorMap: Record = draft: "default", active: "green", paused: "orange", const labelMap: Record = draft: "Draft", active: "Active", paused: "Paused", return <Tag colo
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • useNavigate, useParams from "react-router-dom" createRuleChain, getRuleChain, pauseRuleChain, previewRuleChain, startRuleChain, updateRuleChain, from "../../../api/ruleChains"
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainsPage.tsx
    • act-router-dom" Button, Card, message, Modal, Space, Table, Typography, from "antd" DeleteOutlined, PauseCircleOutlined, PlayCircleOutlined, from "@ant-design/icons" deleteRuleChain, listRuleChains, pauseRuleChain, startRuleChain, from "../../../api/ruleChains
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • | "same_payload_for_all" | "per_
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/api/ruleChains.ts
    • id: string status: "active" > const res = await api.post(/api/rule-chains/$ id /start) return res.data id: string ): Promise const res = await api.post(/api/rule-chains/$ id /pause) return res.data payload: PreviewRu
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • : ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Save & Start/i], , ]) ) addFlow( "pause-rulechain", "Pause Rule Chain", [ "Locate an active rule chain.", "Click Pause.", "The rule chain changes to paused state.", ], this.findEvidenceInFiles(fi
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • const deleteFlow = this.getFlow(manifest, "delete-rulechain") const startFlow = this.getFlow(manifest, "start-rulechain") const pauseFlow = this.getFlow(manifest, "pause-rulechain") const constraints = this.getConstraintTexts(manifest) const hasAnyContent = !!
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/components/GeneratorKeyCard.tsx
    • bleRemove /> > <Input value= value.key onChange= (e) => update( key: e.target.value ) placeholder="temperature" /> </C
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • ns] = useState ([]) const [deviceTypeOptions, setDeviceTypeOptions] = useState ( [] ) const [name, setName] = useState("") const [description, setDescription] = useState("") const [enabled, setEnabled] = useState(true) const [config, setConfig] = useState ( cr
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainsPage.tsx
    • ow: RuleChainSummary) => Modal.confirm( title: "Delete Data Generator", content: Are you sure you want to delete "$ row.name "?, okText: "Delete", okType: "danger", onOk: async () => setBusy(row.id, true) try await deleteRuleChain(row.id) setItems((prev) =>
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • Config = version: number mode: RuleChainMode generator: DataGeneratorConfig id: string name: string description?: string | null type: RuleChainType protocol?: RuleChainProtocol | null status: RuleChainStatus enabled: boolean targetCount: number keyCount: numbe
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • n: string file?: string id: string name: string steps: string[] confidence: Confidence evidence: EvidenceItem[] id: string label: string confidence: Confidence evidence: EvidenceItem[] exp
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • ChainBehaviorManifest, RuleChainFlow, RuleChainTable, from "../extractors/rulechain-behavior-extractor.service" render(manifest: RuleChainBehaviorManifest): Page[] const pages: Page[] = [] const overview = this.renderOverview(manifest)
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • nst [deviceTypeOptions, setDeviceTypeOptions] = useState ( [] ) const [name, setName] = useState("") const [description, setDescription] = useState("") const [enabled, setEnabled] = useState(true) const [config, setConfig] = useState ( createDefaultRuleChainCo
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • sion: number mode: RuleChainMode generator: DataGeneratorConfig id: string name: string description?: string | null type: RuleChainType protocol?: RuleChainProtocol | null status: RuleChainStatus enabled: boolean targetCount: number keyCount: number intervalSe
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • ncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Name/i], , ]) ) addField( "description", "Description", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Description/i], ,
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/components/GeneratorKeyCard.tsx
    • title= value.key?.trim() ? value.key : "New Key" extra= Enabled <Switch checked= value.enabled onChange= (checked) => update( enabled: checked ) /> <Button danger icon=
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • te ( [] ) const [name, setName] = useState("") const [description, setDescription] = useState("") const [enabled, setEnabled] = useState(true) const [config, setConfig] = useState ( createDefaultRuleChainConfig() ) const generator = config.generator as RuleCha
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • taType = "number" | "boolean" | "string" protocol: RuleChainProtocol targetMode: RuleChainTargetMode deviceIds: string[] intervalSeconds: numbe
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • : ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Description/i], , ]) ) addField( "enabled", "Enabled", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Enabled/i], , ]) )
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • teDefaultGeneratorKey, createDefaultRuleChainConfig, type GeneratorKeyConfig, type RuleChain, type RuleChainConfig, type RuleChainProtocol, type RuleChainStatus, from "../types/ruleChain.types" const Title, Text = Typography type DeviceTypeOption = value: stri
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainsPage.tsx
    • <Table.Column title="Interval" dataIndex="intervalLa
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • | "same_payload_for_all" | "per_device_randomized"
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • udes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Enabled/i], , ]) ) addField( "protocol", "Protocol", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Protocol/i], , ]) )
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • /> <Select value= targetMode options= [ label: "Single Device", value: "single" , label: "Multiple Dev
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • rPage", "rulechain", "rule-chain"], regexes: [/Protocol/i], , ]) ) addField( "target-mode", "Target Mode", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Target Mode/i], , ]) ) addFiel
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • /> <Select value= generator.batchMode options= [ label: "Per Device Randomized", v
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • age", "rulechain", "rule-chain"], regexes: [/Target Mode/i], , ]) ) addField( "batch-mode", "Batch Mode", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Batch Mode/i], , ]) ) addField(
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • ] = useState(false) const [saving, setSaving] = useState(false) const [previewLoading, setPreviewLoading] = useState(false) const [devicesLoading, setDevicesLoading] = useState(false) const [actionLoading, setActionLoading] = useState< "save" | "start" | "paus
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • s: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Batch Mode/i], , ]) ) addField( "devices", "Devices", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Devices/i], , ]) )
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • title="Schedule" style= marginBottom: 16 > <InputNumber style= width: "100%" min= 1 value= generator.intervalSeconds onChange= (v) =>
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainsPage.tsx
    • Column title="Targets" dataIndex="targetsCount" /> <Table.Column title="Status" render= (_: unknown, row: RuleChainSummary) => ( )
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • g, any>
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • udes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Devices/i], , ]) ) addField( "interval", "Interval", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/Interval/i], , ]) )
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • ig((prev) => ( ...prev, generator: ...prev.generator, ...patch, as any, )) const updateKeys = (nextKeys: GeneratorKeyConfig[]) => updateGenerator( keys: nextKeys ) const handleAddKey = () => updateKeys([...(generator.keys || []), createDefaultGeneratorKey()])
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainsPage.tsx
    • umn title="Protocol" dataIndex="protocol" /> <Table.Column title="Status" render= (_: unknown, row: RuleChainSummary) => ( <Ru
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • RuleChainProtocol targetMode: RuleChainTargetMode deviceIds: string[] intervalSeconds: number batchMode: RuleChainBatchMode keys: GeneratorKeyConfig[] id: string name: string description
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • "Open the rule chains area.", "Click New Rule Chain.", "Enter name and configuration.", "Configure targets and keys.", "Save the rule chain.", ], this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/components/RuleChainStatusBadge.tsx
    • const colorMap: Record = draft: "default", active: "green", paused: "orange", const labelMap:
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • eChain, updateRuleChain, from "../../../api/ruleChains" createDefaultGeneratorKey, createDefaultRuleChainConfig, type GeneratorKeyConfig, type RuleChain, type RuleChainConfig, type RuleChainProtocol,
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainsPage.tsx
    • hain, startRuleChain, from "../../../api/ruleChains" const Title = Typography const navigate = useNavigate() const [items, setItems] = useState<RuleChainSummary[]
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • | "
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/api/ruleChains.ts
    • ait api.delete(/api/rule-chains/$ id ) return res.data id: string ): Promise const res = await api.post(/api/rule-chains/$ id /start) return res.data id: string ): Promise const res = aw
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • id: string label: string confidence: Confidence evidence: EvidenceItem[] id: string columns: string[] confidence: Confidence evidence: EvidenceItem[] id: string text: string confidence: Confidence evidence: EvidenceItem[]
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • t = route ? — \$ route ` : "" lines.push(- **$ name **$ routeText ) ) lines.push("") if (table?.columns?.length) lines.push("## Table Columns") lines.push("") this.uniqueNonEmpty(table.columns).forEach((c) => lines.push(- **$ c **`) ) lines.push("") if
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/components/GeneratorKeyCard.tsx
    • (value.dataType === "number") return ( <InputNumber style= width: "100%" value= value.settings?.min onChange= (v) => updateSettings( min: v ) /> </Form.
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • pe || "" : "", as any, , ) const validateBeforeSubmit = () => if (!name.trim()) messageApi.error("Name is required") return false if (targetMode === "deviceType") if (!generator.deviceType?.trim()) messageApi.error("Please select a device type") return false e
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/extractors/rulechain-behavior-extractor.service.ts
    • items.push( id, text, confidence: "high", evidence, ) addConstraint( "name-required", "Name is required before saving.", this.findEvidenceInFiles(files, [ filePathIncludes: ["RuleChainEditorPage", "rulechain", "rule-chain"], regexes: [/required/i, /Name
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • const hasAnyContent = formFields.length > 0 || !!previewFlow?.steps?.length || this.hasConstraintText(manifest, "Name is required before saving.") || this.hasConstraintText(manifest, "At least one device must be selected.") || this.hasConstraintText(manifest,
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • hainConfig, type RuleChainProtocol, type RuleChainStatus, from "../types/ruleChain.types" const Title, Text = Typography type GeneratorTargetMode = "single" | "multiple" | "deviceType" function getErrorMessage(error: any
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • ode = "form" | "same_payload_for_all" | "per_device_randomized" id: string key: string dataType: GeneratorDataType enabled: boolean mode: string
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • length || this.hasConstraintText(manifest, "Name is required before saving.") || this.hasConstraintText(manifest, "At least one device must be selected.") || this.hasConstraintText(manifest, "At least one key must be configured.") || this.hasConstraintText( ma
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/components/GeneratorKeyCard.tsx
    • Select, Space, Switch, from "antd" GeneratorDataType, GeneratorKeyConfig, from "../types/ruleChain.types" const dataTypeOptions = [
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainEditorPage.tsx
    • getRuleChain, pauseRuleChain, previewRuleChain, startRuleChain, updateRuleChain, from "../../../api/ruleChains" createDefaultGeneratorKey, createDefaultRuleChainConfig, type GeneratorKeyConfig, typ
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/pages/RuleChainsPage.tsx
    • ary" onClick= () => navigate("/rule-chains/new") > + New Data Generator <Table rowKey="id" dataSource= items loading= loading pagination= pageSize: 10 >
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/frontend/src/features/rule-chains/types/ruleChain.types.ts
    • "same_payload_for_all" | "per_device_randomized" protocol: RuleChainProtocol targ
  • /home/runner/work/autoconnecto-workspace/autoconnecto-workspace/backend/src/documentation/renderers/rulechain-multipage.renderer.ts
    • || this.hasConstraintText(manifest, "At least one device must be selected.") || this.hasConstraintText(manifest, "At least one key must be configured.") || this.hasConstraintText( manifest, "Rule chain must be saved before it can be started." ) if (!hasAnyCont

support@autoconnecto.in · founder@autoconnecto.in · +91 92121 00555 · app.autoconnecto.in