From 37008f55d73123c9ef9519790951286322ec29bd Mon Sep 17 00:00:00 2001 From: Ankur Malik Date: Wed, 5 Feb 2025 16:45:44 -0500 Subject: [PATCH] sequence-2 for etd model --- README.md | 7 +- flows.json | 1112 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1101 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 59a3efc..e77c8d9 100644 --- a/README.md +++ b/README.md @@ -1 +1,6 @@ -**Hello world!!!** +## Overview +This flow is for Early Term Default Model + +## Key Inputs & Outputs +- **Request**: Refer to `request_schema.json` for detailed input fields and validation rules. +- **Response**: Refer to `response_schema.json` for the returned structure and data types. diff --git a/flows.json b/flows.json index 069f342..b3e42d7 100644 --- a/flows.json +++ b/flows.json @@ -1,19 +1,1097 @@ { - "nodes": [ - { - "id": "c2w3wcw04fjyio9un4f", - "data": { "label": "Request" }, - "position": { "x": 0, "y": 150 }, - "type": "requestNode" - }, - { - "id": "c2xjc7k07ahdxoi7ad7", - "data": { "label": "+" }, - "position": { "x": 0, "y": 150 }, - "type": "placeholder" + "nodes": [ + { + "id": "c2w3wcw04fjyio9un4f", + "position": { + "x": 0, + "y": 0 + }, + "data": { + "label": "Request", + "request_schema": { + "properties": { + "user_age": { + "type": [ + "integer", + "null" + ], + "description": "Age of the user at the contract date, based on birthdate and contract date", + "required": [] + }, + "persona_entity_confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Based on confidence reasons assign a score between 0 and 100", + "required": [] + }, + "persona_selfie_similarity_score_right": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the right side selfie", + "required": [] + }, + "persona_selfie_similarity_score_left": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the left side selfie", + "required": [] + }, + "persona_hesitation_percentage": { + "type": [ + "number", + "null" + ], + "description": "Percentage of time in the flow where the customer did not enter inputs", + "required": [] + }, + "persona_hesitation_count": { + "type": [ + "number", + "null" + ], + "description": "Persona hesitation count", + "required": [] + }, + "device_id_age_max": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value.", + "required": [] + }, + "selfie_consistency_score_avg": { + "type": [ + "number", + "null" + ], + "description": "Average selfie consistency score for the user's persona activity", + "required": [] + }, + "device_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct devices associated with a user and loan", + "required": [] + }, + "selfie_consistency_score": { + "type": [ + "number", + "null" + ], + "description": "Average similarity score between left and right selfie", + "required": [] + }, + "global_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last global appearance of the device", + "required": [] + }, + "inquiry_frequency": { + "type": [ + "integer", + "null" + ], + "description": "Number of inquiries made by the user regarding the loan", + "required": [] + }, + "confidence_score_min": { + "type": [ + "number", + "null" + ], + "description": "The minimum recorded confidence score for the user and loan during the timeframe.", + "required": [] + }, + "contract_date_fs_sub": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first subscription appearance and contract date", + "required": [] + }, + "browser_os": { + "type": [ + "string", + "null" + ], + "description": "Browser OS", + "required": [] + }, + "user_city_ip_match": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the user's city matches the IP city", + "required": [] + }, + "device_id_age_avg": { + "type": [ + "number", + "null" + ], + "description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned.", + "required": [] + }, + "persona_distraction_events": { + "type": [ + "number", + "null" + ], + "description": "Persona distraction events", + "required": [] + }, + "sub_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last subscription activity", + "required": [] + }, + "device_id_age_min": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist.", + "required": [] + }, + "confidence_score_max": { + "type": [ + "number", + "null" + ], + "description": "The maximum confidence score recorded for the user and loan combination.", + "required": [] + }, + "persona_phone_risk_score": { + "type": [ + "number", + "null" + ], + "description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level.", + "required": [] + }, + "ip_address_risk_level": { + "type": [ + "string", + "null" + ], + "description": "Checks if the IP country code matches the persona country code", + "required": [] + }, + "login_frequency": { + "type": [ + "number", + "null" + ], + "description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process.", + "required": [] + }, + "suspect_score": { + "type": [ + "integer", + "null" + ], + "description": "Suspect score", + "required": [] + }, + "confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Confidence score", + "required": [] + }, + "name_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the first name in the persona matches the user-provided first name", + "required": [] + }, + "ip_location_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct IP locations for a user and loan", + "required": [] + } + }, + "required": [] } - ], - "edges": [ - { "id": "c2w3wcw04fjyio9un4f=>c2xjc7k07ahdxoi7ad7", "source": "c2w3wcw04fjyio9un4f", "target": "c2xjc7k07ahdxoi7ad7", "type": "placeholder" } - ] -} + }, + "type": "requestNode", + "positionAbsolute": { + "x": 0, + "y": 0 + }, + "width": 260, + "height": 36 + }, + { + "id": "c2xjc7k07ahdxoi7ad7", + "position": { + "x": 0, + "y": 150 + }, + "data": { + "label": "+", + "nodeConfig": { + "activityConfig": { + "retryPolicy": { + "maximumAttempts": 1, + "initialInterval": 1000, + "backoffCoefficient": 2, + "maximumInterval": 100000 + }, + "timeouts": { + "startToCloseTimeout": 10000, + "scheduleToStartTimeout": 10000, + "scheduleToCloseTimeout": 10000, + "heartbeatTimeout": 86 + }, + "taskQueue": { + "taskQueueName": "" + }, + "advancedSettings": { + "cancellationType": "TRY_CANCEL", + "heartbeatEnabled": false + } + }, + "blockName": "etd-v1-pre-processing", + "commitId": "d20e15fd4da59f3c99dfedae530bee866d90ce93", + "repo_url": "http://centurion-version-control.default.svc.cluster.local:3000/Centurion/blocks-transformer.git", + "schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "user_age": { + "type": [ + "integer", + "null" + ], + "description": "Age of the user at the contract date, based on birthdate and contract date", + "source": "$root.user_age" + }, + "persona_entity_confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Based on confidence reasons assign a score between 0 and 100", + "source": "$root.persona_entity_confidence_score" + }, + "persona_selfie_similarity_score_right": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the right side selfie", + "source": "$root.persona_selfie_similarity_score_right" + }, + "persona_selfie_similarity_score_left": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the left side selfie", + "source": "$root.persona_selfie_similarity_score_left" + }, + "persona_hesitation_percentage": { + "type": [ + "number", + "null" + ], + "description": "Percentage of time in the flow where the customer did not enter inputs", + "source": "$root.persona_hesitation_percentage" + }, + "persona_hesitation_count": { + "type": [ + "number", + "null" + ], + "description": "Persona hesitation count", + "source": "$root.persona_hesitation_count" + }, + "device_id_age_max": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value.", + "source": "$root.device_id_age_max" + }, + "selfie_consistency_score_avg": { + "type": [ + "number", + "null" + ], + "description": "Average selfie consistency score for the user's persona activity", + "source": "$root.selfie_consistency_score_avg" + }, + "device_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct devices associated with a user and loan", + "source": "$root.device_consistency" + }, + "selfie_consistency_score": { + "type": [ + "number", + "null" + ], + "description": "Average similarity score between left and right selfie", + "source": "$root.selfie_consistency_score" + }, + "global_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last global appearance of the device", + "source": "$root.global_fs_ls" + }, + "inquiry_frequency": { + "type": [ + "integer", + "null" + ], + "description": "Number of inquiries made by the user regarding the loan", + "source": "$root.inquiry_frequency" + }, + "confidence_score_min": { + "type": [ + "number", + "null" + ], + "description": "The minimum recorded confidence score for the user and loan during the timeframe.", + "source": "$root.confidence_score_min" + }, + "contract_date_fs_sub": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first subscription appearance and contract date", + "source": "$root.contract_date_fs_sub" + }, + "browser_os": { + "type": [ + "string", + "null" + ], + "description": "Browser OS", + "source": "$root.browser_os" + }, + "user_city_ip_match": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the user's city matches the IP city", + "source": "$root.user_city_ip_match" + }, + "device_id_age_avg": { + "type": [ + "number", + "null" + ], + "description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned.", + "source": "$root.device_id_age_avg" + }, + "persona_distraction_events": { + "type": [ + "number", + "null" + ], + "description": "Persona distraction events", + "source": "$root.persona_distraction_events" + }, + "sub_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last subscription activity", + "source": "$root.sub_fs_ls" + }, + "device_id_age_min": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist.", + "source": "$root.device_id_age_min" + }, + "confidence_score_max": { + "type": [ + "number", + "null" + ], + "description": "The maximum confidence score recorded for the user and loan combination.", + "source": "$root.confidence_score_max" + }, + "persona_phone_risk_score": { + "type": [ + "number", + "null" + ], + "description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level.", + "source": "$root.persona_phone_risk_score" + }, + "ip_address_risk_level": { + "type": [ + "string", + "null" + ], + "description": "Checks if the IP country code matches the persona country code", + "source": "$root.ip_address_risk_level" + }, + "login_frequency": { + "type": [ + "number", + "null" + ], + "description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process.", + "source": "$root.login_frequency" + }, + "suspect_score": { + "type": [ + "integer", + "null" + ], + "description": "Suspect score", + "source": "$root.suspect_score" + }, + "confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Confidence score", + "source": "$root.confidence_score" + }, + "name_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the first name in the persona matches the user-provided first name", + "source": "$root.name_consistency" + }, + "ip_location_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct IP locations for a user and loan", + "source": "$root.ip_location_consistency" + } + }, + "required": [] + } + }, + "outputSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "user_age": { + "type": [ + "integer", + "null" + ], + "description": "Age of the user at the contract date, based on birthdate and contract date" + }, + "persona_entity_confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Based on confidence reasons assign a score between 0 and 100" + }, + "persona_selfie_similarity_score_right": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the right side selfie" + }, + "persona_selfie_similarity_score_left": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the left side selfie" + }, + "persona_hesitation_percentage": { + "type": [ + "number", + "null" + ], + "description": "Percentage of time in the flow where the customer did not enter inputs" + }, + "persona_hesitation_count": { + "type": [ + "number", + "null" + ], + "description": "Persona hesitation count" + }, + "device_id_age_max": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value." + }, + "selfie_consistency_score_avg": { + "type": [ + "number", + "null" + ], + "description": "Average selfie consistency score for the user's persona activity" + }, + "device_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct devices associated with a user and loan" + }, + "selfie_consistency_score": { + "type": [ + "number", + "null" + ], + "description": "Average similarity score between left and right selfie" + }, + "global_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last global appearance of the device" + }, + "inquiry_frequency": { + "type": [ + "integer", + "null" + ], + "description": "Number of inquiries made by the user regarding the loan" + }, + "confidence_score_min": { + "type": [ + "number", + "null" + ], + "description": "The minimum recorded confidence score for the user and loan during the timeframe." + }, + "contract_date_fs_sub": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first subscription appearance and contract date" + }, + "browser_os": { + "type": [ + "string", + "null" + ], + "description": "Browser OS" + }, + "user_city_ip_match": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the user's city matches the IP city" + }, + "device_id_age_avg": { + "type": [ + "number", + "null" + ], + "description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned." + }, + "persona_distraction_events": { + "type": [ + "number", + "null" + ], + "description": "Persona distraction events" + }, + "sub_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last subscription activity" + }, + "device_id_age_min": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist." + }, + "confidence_score_max": { + "type": [ + "number", + "null" + ], + "description": "The maximum confidence score recorded for the user and loan combination." + }, + "persona_phone_risk_score": { + "type": [ + "number", + "null" + ], + "description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level." + }, + "ip_address_risk_level": { + "type": [ + "string", + "null" + ], + "description": "Checks if the IP country code matches the persona country code" + }, + "login_frequency": { + "type": [ + "number", + "null" + ], + "description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process." + }, + "suspect_score": { + "type": [ + "integer", + "null" + ], + "description": "Suspect score" + }, + "confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Confidence score" + }, + "name_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the first name in the persona matches the user-provided first name" + }, + "ip_location_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct IP locations for a user and loan" + } + } + } + }, + "type": "transformerNode", + "positionAbsolute": { + "x": 0, + "y": 150 + }, + "width": 260, + "height": 79 + }, + { + "id": "m57iui512x934nhf22o", + "position": { + "x": 0, + "y": 300 + }, + "data": { + "label": "+", + "nodeConfig": { + "activityConfig": { + "retryPolicy": { + "maximumAttempts": 1, + "initialInterval": 1000, + "backoffCoefficient": 2, + "maximumInterval": 100000 + }, + "timeouts": { + "startToCloseTimeout": 10000, + "scheduleToStartTimeout": 10000, + "scheduleToCloseTimeout": 10000, + "heartbeatTimeout": 86 + }, + "taskQueue": { + "taskQueueName": "" + }, + "advancedSettings": { + "cancellationType": "TRY_CANCEL", + "heartbeatEnabled": false + } + }, + "blockName": "etd-v1-processing", + "commitId": "8c887e765b31fd7773e5761fd0862b6d2a62db0f", + "repo_url": "http://centurion-version-control.default.svc.cluster.local:3000/Centurion/blocks-transformer.git", + "schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "user_age": { + "type": [ + "integer", + "null" + ], + "description": "Age of the user at the contract date, based on birthdate and contract date", + "source": "$c2xjc7k07ahdxoi7ad7.user_age" + }, + "persona_entity_confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Based on confidence reasons assign a score between 0 and 100", + "source": "$c2xjc7k07ahdxoi7ad7.persona_entity_confidence_score" + }, + "persona_selfie_similarity_score_right": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the right side selfie", + "source": "$c2xjc7k07ahdxoi7ad7.persona_selfie_similarity_score_right" + }, + "persona_selfie_similarity_score_left": { + "type": [ + "number", + "null" + ], + "description": "Similarity score from the left side selfie", + "source": "$c2xjc7k07ahdxoi7ad7.persona_selfie_similarity_score_left" + }, + "persona_hesitation_percentage": { + "type": [ + "number", + "null" + ], + "description": "Percentage of time in the flow where the customer did not enter inputs", + "source": "$c2xjc7k07ahdxoi7ad7.persona_hesitation_percentage" + }, + "persona_hesitation_count": { + "type": [ + "number", + "null" + ], + "description": "Persona hesitation count", + "source": "$c2xjc7k07ahdxoi7ad7.persona_hesitation_count" + }, + "device_id_age_max": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value.", + "source": "$c2xjc7k07ahdxoi7ad7.device_id_age_max" + }, + "selfie_consistency_score_avg": { + "type": [ + "number", + "null" + ], + "description": "Average selfie consistency score for the user's persona activity", + "source": "$c2xjc7k07ahdxoi7ad7.selfie_consistency_score_avg" + }, + "device_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct devices associated with a user and loan", + "source": "$c2xjc7k07ahdxoi7ad7.device_consistency" + }, + "selfie_consistency_score": { + "type": [ + "number", + "null" + ], + "description": "Average similarity score between left and right selfie", + "source": "$c2xjc7k07ahdxoi7ad7.selfie_consistency_score" + }, + "global_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last global appearance of the device", + "source": "$c2xjc7k07ahdxoi7ad7.global_fs_ls" + }, + "inquiry_frequency": { + "type": [ + "integer", + "null" + ], + "description": "Number of inquiries made by the user regarding the loan", + "source": "$c2xjc7k07ahdxoi7ad7.inquiry_frequency" + }, + "confidence_score_min": { + "type": [ + "number", + "null" + ], + "description": "The minimum recorded confidence score for the user and loan during the timeframe.", + "source": "$c2xjc7k07ahdxoi7ad7.confidence_score_min" + }, + "contract_date_fs_sub": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first subscription appearance and contract date", + "source": "$c2xjc7k07ahdxoi7ad7.contract_date_fs_sub" + }, + "browser_os": { + "type": [ + "string", + "null" + ], + "description": "Browser OS", + "source": "$c2xjc7k07ahdxoi7ad7.browser_os" + }, + "user_city_ip_match": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the user's city matches the IP city", + "source": "$c2xjc7k07ahdxoi7ad7.user_city_ip_match" + }, + "device_id_age_avg": { + "type": [ + "number", + "null" + ], + "description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned.", + "source": "$c2xjc7k07ahdxoi7ad7.device_id_age_avg" + }, + "persona_distraction_events": { + "type": [ + "number", + "null" + ], + "description": "Persona distraction events", + "source": "$c2xjc7k07ahdxoi7ad7.persona_distraction_events" + }, + "sub_fs_ls": { + "type": [ + "integer", + "null" + ], + "description": "Days between the first and last subscription activity", + "source": "$c2xjc7k07ahdxoi7ad7.sub_fs_ls" + }, + "device_id_age_min": { + "type": [ + "integer", + "null" + ], + "description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist.", + "source": "$c2xjc7k07ahdxoi7ad7.device_id_age_min" + }, + "confidence_score_max": { + "type": [ + "number", + "null" + ], + "description": "The maximum confidence score recorded for the user and loan combination.", + "source": "$c2xjc7k07ahdxoi7ad7.confidence_score_max" + }, + "persona_phone_risk_score": { + "type": [ + "number", + "null" + ], + "description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level.", + "source": "$c2xjc7k07ahdxoi7ad7.persona_phone_risk_score" + }, + "ip_address_risk_level": { + "type": [ + "string", + "null" + ], + "description": "Checks if the IP country code matches the persona country code", + "source": "$c2xjc7k07ahdxoi7ad7.ip_address_risk_level" + }, + "login_frequency": { + "type": [ + "number", + "null" + ], + "description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process.", + "source": "$c2xjc7k07ahdxoi7ad7.login_frequency" + }, + "suspect_score": { + "type": [ + "integer", + "null" + ], + "description": "Suspect score", + "source": "$c2xjc7k07ahdxoi7ad7.suspect_score" + }, + "confidence_score": { + "type": [ + "number", + "null" + ], + "description": "Confidence score", + "source": "$c2xjc7k07ahdxoi7ad7.confidence_score" + }, + "name_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Checks if the first name in the persona matches the user-provided first name", + "source": "$c2xjc7k07ahdxoi7ad7.name_consistency" + }, + "ip_location_consistency": { + "type": [ + "integer", + "null" + ], + "description": "Number of distinct IP locations for a user and loan", + "source": "$c2xjc7k07ahdxoi7ad7.ip_location_consistency" + } + }, + "required": [] + } + }, + "outputSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "probability": { + "type": "number", + "description": "Fraud Model predicted score." + } + } + } + }, + "type": "transformerNode", + "positionAbsolute": { + "x": 0, + "y": 300 + }, + "width": 260, + "height": 79 + }, + { + "id": "m57iv5lvqmrbug8f4aa", + "position": { + "x": 0, + "y": 450 + }, + "data": { + "label": "+", + "nodeConfig": { + "activityConfig": { + "retryPolicy": { + "maximumAttempts": 1, + "initialInterval": 1000, + "backoffCoefficient": 2, + "maximumInterval": 100000 + }, + "timeouts": { + "startToCloseTimeout": 10000, + "scheduleToStartTimeout": 10000, + "scheduleToCloseTimeout": 10000, + "heartbeatTimeout": 86 + }, + "taskQueue": { + "taskQueueName": "" + }, + "advancedSettings": { + "cancellationType": "TRY_CANCEL", + "heartbeatEnabled": false + } + }, + "blockName": "etd-post-processing-block", + "commitId": "a58428db77176ab3a08735fe3ce45fa5fa156911", + "repo_url": "http://centurion-version-control.default.svc.cluster.local:3000/Centurion/blocks-transformer.git", + "schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "probability": { + "type": "number", + "description": "Fraud Model predicted score.", + "source": "$m57iui512x934nhf22o.probability" + } + }, + "required": [] + } + }, + "outputSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "grade": { + "type": "string", + "description": "PD v2 grade." + } + } + } + }, + "type": "transformerNode", + "positionAbsolute": { + "x": 0, + "y": 450 + }, + "width": 260, + "height": 79, + "selected": false, + "dragging": false + } + ], + "edges": [ + { + "id": "c2w3wcw04fjyio9un4f=>c2xjc7k07ahdxoi7ad7", + "source": "c2w3wcw04fjyio9un4f", + "target": "c2xjc7k07ahdxoi7ad7", + "type": "workflow" + }, + { + "id": "c2xjc7k07ahdxoi7ad7=>m57iui512x934nhf22o", + "source": "c2xjc7k07ahdxoi7ad7", + "target": "m57iui512x934nhf22o", + "type": "workflow" + }, + { + "id": "m57iui512x934nhf22o=>m57iv5lvqmrbug8f4aa", + "source": "m57iui512x934nhf22o", + "target": "m57iv5lvqmrbug8f4aa", + "type": "workflow" + } + ] +} \ No newline at end of file