{
  "productInfo" : {
    "company" : "HighByte",
    "product" : "IntelligenceHub",
    "version" : "4.4.5",
    "build" : "2026.7.31.1",
    "stage" : "Release"
  },
  "project" : {
    "version" : 13,
    "connections" : [ {
      "name" : "MQTT_Files",
      "uri" : "mqtt://localhost:1885",
      "description" : "Local MQTT broker for deadletter queue and internal pub/sub",
      "tags" : [ "Internal" ],
      "writes" : {
        "flattenModeledValues" : false
      },
      "writeThrottle" : {
        "enabled" : false,
        "maxBatchSizePerTarget" : 1000,
        "batchDelay" : {
          "duration" : 20,
          "units" : "Milliseconds"
        }
      },
      "subscriptions" : { },
      "storeForward" : {
        "enabled" : true,
        "maxEntries" : 10000,
        "waitOnFailureInterval" : {
          "duration" : 2,
          "units" : "Seconds"
        }
      },
      "settings" : {
        "requestTimeoutMS" : 10000,
        "cleanSession" : false,
        "ssl" : false,
        "redundantBrokers" : [ ],
        "inputDiscovery" : "",
        "ignoreCertificate" : false,
        "keepAliveSeconds" : 30,
        "maxInflight" : 100,
        "mcpEnabled" : "disabled",
        "connectionTimeoutSeconds" : 10
      }
    }, {
      "name" : "Source_File",
      "uri" : "file://Source_File",
      "tags" : [ ],
      "writes" : {
        "flattenModeledValues" : false
      },
      "writeThrottle" : {
        "enabled" : false,
        "maxBatchSizePerTarget" : 1000,
        "batchDelay" : {
          "duration" : 20,
          "units" : "Milliseconds"
        }
      },
      "subscriptions" : { },
      "storeForward" : {
        "enabled" : false,
        "maxEntries" : 100,
        "waitOnFailureInterval" : {
          "duration" : 1,
          "units" : "Seconds"
        }
      },
      "settings" : {
        "communicationProtocol" : {
          "type" : "FILE_PROTOCOL",
          "options" : { }
        },
        "directory" : "/Users/jaeheepark/Desktop/Source_File",
        "processedDirectory" : "/Users/jaeheepark/Desktop/Source_File/Proc",
        "errorDirectory" : "/Users/jaeheepark/Desktop/Source_File/Error"
      }
    }, {
      "name" : "Target_File",
      "uri" : "file://Target_File",
      "tags" : [ ],
      "writes" : {
        "flattenModeledValues" : false
      },
      "writeThrottle" : {
        "enabled" : false,
        "maxBatchSizePerTarget" : 1000,
        "batchDelay" : {
          "duration" : 20,
          "units" : "Milliseconds"
        }
      },
      "subscriptions" : { },
      "storeForward" : {
        "enabled" : false,
        "maxEntries" : 100,
        "waitOnFailureInterval" : {
          "duration" : 1,
          "units" : "Seconds"
        }
      },
      "settings" : {
        "communicationProtocol" : {
          "type" : "FILE_PROTOCOL",
          "options" : { }
        },
        "directory" : "/Users/jaeheepark/Desktop/Target_File"
      }
    } ],
    "inputs" : [ {
      "name" : "File_Input",
      "connection" : "MQTT_Files",
      "type" : "mqtt",
      "qualifier" : {
        "inputType" : "LastPublish",
        "payloadType" : "json",
        "qos" : 0,
        "topic" : "Output/#"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      },
      "parameters" : {
        "type" : "EmptyParameters"
      }
    }, {
      "name" : "Read_PDF",
      "connection" : "Source_File",
      "type" : "file",
      "qualifier" : {
        "type" : "File",
        "searchType" : "fileRegexSearch",
        "encoding" : "Binary",
        "path" : ".*\\.(pdf|PDF)",
        "indexFile" : true,
        "regex" : "(.+)",
        "timeFilterType" : "None",
        "includeMetadata" : true
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      },
      "parameters" : {
        "type" : "EmptyParameters"
      }
    } ],
    "outputs" : [ ],
    "modeling" : {
      "models" : [ ],
      "instances" : [ ]
    },
    "conditions" : [ ],
    "functions" : [ ],
    "tags" : [ ],
    "pipelines" : [ {
      "name" : "MQTT_To_Target_File",
      "tags" : [ ],
      "inputStages" : [ "JavaScript" ],
      "stages" : [ {
        "name" : "WriteNew",
        "display" : {
          "position" : {
            "x" : 589,
            "y" : -12
          }
        },
        "description" : "",
        "config" : {
          "type" : ".DynamicWriteConfig",
          "failureOutputs" : [ ],
          "connectionReference" : "{{Connection.Target_File}}",
          "qualifier" : {
            "fileName" : "{{event.metadata.filename}}",
            "breakupArrays" : false,
            "base64Decoding" : true
          },
          "qualifierExpression" : "",
          "writeReturn" : "ignore"
        },
        "outputs" : [ ]
      }, {
        "name" : "JavaScript",
        "display" : {
          "position" : {
            "x" : 181,
            "y" : -10
          }
        },
        "description" : "",
        "config" : {
          "type" : ".JavaScriptTransformConfig",
          "transformExpression" : "stage.setMetadata(\"filename\", event.value.filename);\nstage.setValue(event.value.filevalue);"
        },
        "outputs" : [ "WriteNew" ]
      } ],
      "trackActivity" : false,
      "triggers" : [ {
        "name" : "EventTrigger",
        "display" : {
          "position" : {
            "x" : -398,
            "y" : -2
          }
        },
        "description" : "",
        "config" : {
          "type" : ".TriggerEvent",
          "enabled" : true,
          "reference" : {
            "type" : "Input",
            "name" : "File_Input",
            "path" : "",
            "params" : { },
            "connectionName" : "MQTT_Files"
          },
          "outputMode" : "ALL"
        }
      } ],
      "errorHandler" : {
        "type" : "default"
      }
    }, {
      "name" : "Source_File_To_MQTT",
      "tags" : [ ],
      "inputStages" : [ "Read" ],
      "stages" : [ {
        "name" : "JavaScript",
        "display" : {
          "position" : {
            "x" : 565,
            "y" : -9
          }
        },
        "description" : "",
        "config" : {
          "type" : ".JavaScriptTransformConfig",
          "transformExpression" : "stage.setValue({\n    filename: event.value._filename,\n    filevalue: event.value.value\n});"
        },
        "outputs" : [ "WriteNew" ]
      }, {
        "name" : "WriteNew",
        "display" : {
          "position" : {
            "x" : 959,
            "y" : -6
          }
        },
        "description" : "",
        "config" : {
          "type" : ".DynamicWriteConfig",
          "failureOutputs" : [ ],
          "connectionReference" : "{{Connection.MQTT_Files}}",
          "qualifier" : {
            "topic" : "Output/{{event.value.filename}}",
            "qos" : 0,
            "namedRoot" : false,
            "retained" : false,
            "breakupArrays" : false
          },
          "qualifierExpression" : "",
          "writeReturn" : "ignore"
        },
        "outputs" : [ ]
      }, {
        "name" : "Read",
        "display" : {
          "position" : {
            "x" : 166,
            "y" : -3
          }
        },
        "description" : "",
        "config" : {
          "type" : ".ReadConfig",
          "failureOutputs" : [ ],
          "reference" : {
            "type" : "Input",
            "name" : "Read_PDF",
            "path" : "",
            "params" : { },
            "connectionName" : "Source_File"
          }
        },
        "outputs" : [ "JavaScript" ]
      } ],
      "trackActivity" : false,
      "triggers" : [ {
        "name" : "PolledTrigger",
        "display" : {
          "position" : {
            "x" : -385,
            "y" : 1
          }
        },
        "description" : "",
        "config" : {
          "type" : ".TriggerPolled",
          "enabled" : false,
          "interval" : {
            "duration" : 1,
            "units" : "Seconds"
          },
          "mode" : "interval"
        }
      } ],
      "errorHandler" : {
        "type" : "default"
      }
    } ],
    "namespace" : [ ]
  },
  "network" : {
    "groups" : [ ],
    "hubs" : [ ]
  }
}