{"context":{"domain":"people-le-moura"},"layers":{"ApplicationLayer":{"reference":"ApplicationLayer","availableInstances":[{"reference":"ComponentsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"SystemsDataSet","params":{"filter":{"domain":"data2"},"pagination":{"size":1},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSource"}}}},{"reference":"ExternalComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"SystemsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5e3b796d6228227ca637d0f4","name":"data2","domain":"data2","organization":"62292184611f480b3191c37c","visibility":"public","updatedAt":"2026-07-27T14:19:36.810Z"}]}},{"reference":"OrganizationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"DataComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"OneFileComponentInstancesDataSet","params":{"pagination":{"size":1},"master":{"dataset":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSet"}},"localField":"system","masterField":"_id"},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"FileComponentInstancesDataSource"}}}},{"reference":"ApplicationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ServiceComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@Data2TableDataSource","reference":"FileComponentInstancesDataSource","params":{"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}}]}},{"component":"data2-core@MemoryDataSource","reference":"EmptyDataSource","params":{"initialData":[]}},{"reference":"ComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"UserComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"DataComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ServiceComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ExternalComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ApplicationsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}}],"processesParams":{}},"HostApplicationLayer":{"reference":"HostApplicationLayer","availableInstances":[{"_id":"5f15ff190528b92601890f71","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"SystemsTableDataSource"}},"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"domain"}}},"pk":"_id","fields":[{"component":"data2-core-types@FieldReference","params":{"key":"_id"}},{"component":"data2-core-types@FieldReference","params":{"key":"name"}},{"component":"data2-core-types@FieldReference","params":{"key":"domain"}},{"component":"data2-core-types@FieldReference","params":{"key":"visibility"}},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization._id"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.name"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.billingStatus"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.publicTrial.active"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"settings.defaultAccessPolicy"}}},"break":true}],"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"staticPagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"policies":[{"component":"data2-core-auth@Policy","params":{"allow":{"params":{"actions":[{"params":{"components":[{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"_id"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"domain"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"}]},"component":"data2-core-logical-operators@Or"}]},"component":"data2-core-flow@Series"}}}]},"reference":"SystemsDataSet","updatedAt":"2026-08-07T21:51:24.037Z","createdAt":"2020-07-20T20:31:21.838Z"},{"_id":"5f1601ce0528b92601890f7c","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":1000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"sort":{"params.package":1,"params.component":1},"pk":"_id","autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"staticFilter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}},"filter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}}},"reference":"ComponentsDataSet","updatedAt":"2025-11-05T19:37:01.935Z","createdAt":"2020-07-20T20:42:54.898Z"},{"_id":"5f9041dbc8da12be8b94aea4","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":2000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"UserComponentsDataSet","updatedAt":"2025-11-06T21:06:58.095Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"65d8c4fabc9dbb8f94de8d53","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ExternalComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ExternalComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:23.742Z","createdAt":"2024-02-23T16:17:01.816Z"},{"reference":"SystemsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"69fe34b018c813c5be7bddd9","name":"Leadro Moura","domain":"people-le-moura","visibility":"private","settings":{"defaultAccessPolicy":"private"},"updatedAt":"2026-08-14T19:35:06.936Z","createdAt":"2026-05-08T19:08:32.496Z"}]}},{"reference":"ComponentsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5f52a278a575399a45d239b4","component":"data2-core-types@Component","params":{"package":"data2-core-primitives","component":"Router","interactions":{"component":"data2-core-types@FieldSet","params":{"fields":{"goBack":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.goBack","args":[]}}}},"icon":{"component":"data2-core-primitives@String","params":{"content":"arrow-left"}},"visibility":"public"}},"goTo":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"component":"data2-core-types@Reference","params":{"reference":"url"}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}}}]}},"parameters":[{"component":"data2-core-primitives@String","params":{"content":"url"}},{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}]},"break":true},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Path to route"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Path to redirect user"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Boolean"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Preserve Query"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Preserve query string parameters  preserve query parameters on navigating."}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"}]}},"open":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"pathname":{"component":"data2-core-types@Reference","params":{"reference":"value"}}}]}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}]}},"close":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":"close"}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"times"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}],"description":{"component":"data2-core-primitives@String","params":{"content":"Closes a window that was opened via router.open."}}}}}}}}},{"_id":"620d28658271aa4129919d89","component":"data2-core-types@Component","params":{"package":"data2-interface-services","component":"DeviceController","interactions":{"params":{"fields":{"postMessage":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@String","title":{"component":"data2-core-primitives@String","params":{"content":"data"}}}}]},"component":"data2-core-types@ComponentParameter"},"print":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"zoom":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Number"}},"title":{"component":"data2-core-primitives@String","params":{"content":"zoom"}},"visibility":"public"}}},"visibility":"public"},"component":"data2-core-types@ComponentParameter"}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"share":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}}},"component":"data2-core-types@ComponentParameter"},"clipboard.copy":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"clipboard.paste":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"download":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}]},"component":"data2-core-types@ComponentParameter"},"downloadUrl":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Url"}}}}]},"component":"data2-core-types@ComponentParameter"},"promptFiles":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"params":{"fields":{"multiple":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Multiple"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Whether or not to allow selecting multiple files"}},"component":"data2-core-primitives@Boolean"}},"acceptedFormats":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Accepted Formats"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Accepted file formats"}},"component":"data2-core-primitives@String","list":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}},"timeout":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Timeout"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Max milliseconds to wait for file upload"}},"component":"data2-core-primitives@Number"}}}},"component":"data2-core-types@FieldSet"}}}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"meetingRecord":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","definition":{"params":{"actions":[{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"meeting"}},"script":{"component":"data2-core-primitives@String","params":{"content":"(function() {\n  let mediaRecorder;\n  let audioChunks = [];\n  let combinedStream;\n  let audioContext;\n  \n  window.meetingCapture = async function() {\n    try {\n      // Solicitar acesso ao áudio da guia (e vídeo, que será ignorado depois)\n      const tabStream = await navigator.mediaDevices.getDisplayMedia({ \n        video: true, // Necessário para alguns navegadores\n        audio: true\n      });\n      \n      // Remover a trilha de vídeo\n      const tabAudioTrack = tabStream.getAudioTracks()[0];\n      \n      // Solicitar acesso ao microfone\n      const micStream = await navigator.mediaDevices.getUserMedia({ audio: true });\n      const micAudioTrack = micStream.getAudioTracks()[0];\n      \n      // Criar um novo MediaStream com ambas as trilhas de áudio\n      combinedStream = new MediaStream([tabAudioTrack, micAudioTrack]);\n      \n      // Criar um contexto de áudio para misturar os streams\n      audioContext = new AudioContext();\n      const destination = audioContext.createMediaStreamDestination();\n      \n      // Conectar a trilha de áudio da guia\n      const tabSource = audioContext.createMediaStreamSource(new MediaStream([tabAudioTrack]));\n      tabSource.connect(destination);\n      \n      // Conectar a trilha de áudio do microfone\n      const micSource = audioContext.createMediaStreamSource(new MediaStream([micAudioTrack]));\n      micSource.connect(destination);\n      \n      // Iniciar gravação com o stream misturado\n      mediaRecorder = new MediaRecorder(destination.stream);\n      audioChunks = [];\n      mediaRecorder.ondataavailable = (e) => audioChunks.push(e.data);\n      mediaRecorder.start();\n      \n      console.log('Gravação iniciada. Chame meetingCaptureStop() para finalizar.');\n    } catch (error) {\n      console.error('Erro ao iniciar a captura:', error);\n    }\n  };\n  \n  window.meetingCaptureStop = function() {\n    return new Promise((resolve, reject) => {\n      if (!mediaRecorder) {\n        reject('Nenhuma gravação em andamento.');\n        return;\n      }\n      \n      mediaRecorder.onstop = () => {\n        const audioBlob = new Blob(audioChunks, { type: 'audio/webm' });\n        combinedStream.getTracks().forEach(track => track.stop());\n        audioContext.close();\n        \n        resolve(audioBlob);\n        console.log('Gravação finalizada. O arquivo de áudio está pronto para upload.');\n      };\n      \n      mediaRecorder.stop();\n    });\n  };\n})();"}}},"component":"data2-core-web@Script"},{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCapture"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"meetingRecordStop":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}],"definition":{"params":{"actions":[{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCaptureStop"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"notify":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"private","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","parameters":{"title":{"params":{"component":"data2-core-primitives@String","index":{"component":"data2-core-primitives@Number","params":{"content":0}},"title":{"component":"data2-core-primitives@String","params":{"content":"title"}}},"component":"data2-core-types@ComponentParameter"},"sound":{"params":{"component":"data2-core-types@FileComponentUrlReference","index":{"component":"data2-core-primitives@Number","params":{"content":1}},"title":{"component":"data2-core-primitives@String","params":{"content":"sound"}}},"component":"data2-core-types@ComponentParameter"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}}]},"component":"data2-core-types@ComponentParameter"}}},"component":"data2-core-types@FieldSet"}}},{"_id":"6a922cd114ffb857b3dfa288","component":"data2-core-types@Component","system":"69fe34b018c813c5be7bddd9","params":{"extends":"data2-core-primitives@Block","component":"preaction-painel","package":"people-le-moura","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-code-components@CodeHost","params":{"code":{"component":"data2-core-primitives@String","params":{"content":"const ORDEM_ST = ['OBSERVACAO_ST', 'QUASE_ACIDENTE', 'FAC', 'MTC', 'RWC', 'LTI', 'FAT'];\nconst ORDEM_SA = ['OBSERVACAO_SA', 'QUASE_ACIDENTE', 'NAO_EVOLUIU', 'SUSPEITA', 'LESAO', 'DTHA_ALERGIA', 'FAT'];\nconst ACIMA = ['FAC', 'MTC', 'RWC', 'LTI', 'FAT', 'NAO_EVOLUIU', 'SUSPEITA', 'LESAO', 'DTHA_ALERGIA'];\nconst ROTULO = {\n  OBSERVACAO_ST: 'Observação ST', OBSERVACAO_SA: 'Observação SA',\n  QUASE_ACIDENTE: 'Quase acidente', RECONHECIMENTO_POSITIVO: 'Reconhecimento',\n  FAC: 'FAC · primeiros socorros', MTC: 'MTC · tratamento médico',\n  RWC: 'RWC · trabalho restrito', LTI: 'LTI · afastamento', FAT: 'FAT · fatalidade',\n  NAO_EVOLUIU: 'Não evoluiu', SUSPEITA: 'Suspeita', LESAO: 'Lesão por alimento',\n  DTHA_ALERGIA: 'DTHA / Alergia'\n};\n\nfunction esc(s) {\n  return String(s == null ? '' : s).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\n}\nfunction eAcima(n) { return ACIMA.indexOf(n) >= 0; }\nfunction dataCurta(v) {\n  if (!v) return '—';\n  const d = new Date(v);\n  if (isNaN(d)) return '—';\n  return String(d.getDate()).padStart(2, '0') + '/' + String(d.getMonth() + 1).padStart(2, '0');\n}\n\nfunction pill(st) {\n  if (!st || st === 'Novo' || st === 'Alerta aberto') return '';\n  if (st === 'Em investigação') return '<span class=\"pill inv\">EM INVESTIGAÇÃO</span>';\n  if (st === 'Encerrado') return '<span class=\"pill fim\">ENCERRADO</span>';\n  return '<span class=\"pill\">' + esc(st) + '</span>';\n}\n\nfunction acoesDe(r, s) {\n  const ocupado = s.salvandoStatus === r._id;\n  const btn = (st, txt, ghost) =>\n    '<button class=\"st-btn' + (ghost ? ' ghost' : '') + '\" data-id=\"' + esc(r._id) + '\" data-st=\"' + esc(st) + '\"' +\n    (ocupado ? ' disabled' : '') + '>' + esc(txt) + '</button>';\n  const out = [];\n  if (r.status !== 'Em investigação' && r.status !== 'Encerrado') {\n    out.push(btn('Em investigação', eAcima(r.ia_nivel) ? 'Abrir investigação' : 'Marcar para análise', false));\n  }\n  if (r.status !== 'Encerrado') out.push(btn('Encerrado', 'Encerrar', true));\n  else out.push(btn('Alerta aberto', 'Reabrir', true));\n  if (ocupado) out.push('<span class=\"stat\">gravando…</span>');\n  return out.join('');\n}\n\nexport default {\n  css: `\n:host{all:initial}\n*{box-sizing:border-box}\n.wrap{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;color:#15211c;background:#f2f4f1;height:100%;overflow:auto;padding:22px;line-height:1.5}\n.shell{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:16px}\n\n.top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}\n.top .n{font-size:21px;font-weight:700;letter-spacing:-.2px}\n.top .s{font-size:12.5px;color:#5b6862;margin-top:2px}\n.chip{border:1.5px solid #15211c;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:1.5px}\n\n.tese{background:#fbeae7;border:1.5px solid #b33a2b;border-radius:4px;padding:16px 19px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}\n.tese .big{font-size:40px;font-weight:700;color:#8c2a1e;line-height:1;font-variant-numeric:tabular-nums}\n.tese .txt{flex:1;min-width:250px}\n.tese .t1{font-size:15.5px;font-weight:700;color:#8c2a1e}\n.tese .t2{font-size:13.5px;color:#3c4a44;margin-top:3px}\n\n.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}\n.kpi{background:#fff;border:1px solid #d6ddd8;border-radius:4px;padding:14px 16px}\n.kpi .v{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}\n.kpi .l{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:#6b7873;margin-top:4px}\n.kpi.up .v{color:#b33a2b}\n.kpi.down .v{color:#186a4b}\n\n.card{background:#fff;border:1px solid #d6ddd8;border-radius:4px}\n.card .hd{padding:11px 16px;border-bottom:1px solid #e6ebe7;font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#6b7873;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}\n.card .bd{padding:16px}\n\n.dist{display:flex;flex-direction:column;gap:4px}\n.dl{display:flex;align-items:center;gap:10px;font-size:12.5px}\n.dl .nm{width:170px;flex:none;color:#3c4a44}\n.dl .bar{height:17px;border-radius:2px;background:#8dd2af;min-width:2px}\n.dl.up .bar{background:#e0918a}\n.dl .ct{font-size:12px;color:#6b7873;font-variant-numeric:tabular-nums}\n.dl.zero .nm,.dl.zero .ct{color:#aab5af}\n.divisor{display:flex;align-items:center;gap:9px;margin:7px 0}\n.divisor .r{flex:1;height:2.5px;background:#15211c}\n.divisor .l{font-size:9.5px;font-weight:700;letter-spacing:1.3px;white-space:nowrap}\n\n.fil{display:flex;gap:6px;flex-wrap:wrap}\n.fil button{padding:5px 12px;font-size:12px;border:1px solid #cfd8d2;background:#fff;border-radius:999px;cursor:pointer;font-family:inherit;color:#3c4a44}\n.fil button[data-on=\"1\"]{background:#15211c;color:#fff;border-color:#15211c}\n\ntable{width:100%;border-collapse:collapse;font-size:13.5px}\nth{text-align:left;padding:8px 12px;font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:#6b7873;border-bottom:1px solid #cfd8d2;white-space:nowrap}\ntd{padding:10px 12px;border-bottom:1px solid #eef2ef;vertical-align:top}\ntr.linha{cursor:pointer}\ntr.linha:hover td{background:#f7f9f7}\ntr.alerta td{background:#fdf3f1}\ntr.alerta:hover td{background:#fbeae7}\n.tit{font-weight:600}\n.sub{font-size:11.5px;color:#6b7873;margin-top:1px}\n.badge{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.7px;padding:2px 7px;border-radius:2px;white-space:nowrap}\n.badge.up{background:#b33a2b;color:#fff}\n.badge.down{background:#e2ebe5;color:#2c4a3c}\n.seta{color:#8b968f;padding:0 5px}\n.decl{color:#6b7873;text-decoration:line-through}\n.det td{background:#f7f9f7!important;font-size:13px}\n.det .q{border-left:3px solid #b33a2b;padding:7px 12px;background:#fff;border-radius:0 3px 3px 0;margin-bottom:8px}\n.det .lb{font-size:9.5px;letter-spacing:.8px;text-transform:uppercase;color:#8c2a1e;margin-bottom:3px}\n.det p{margin:0 0 7px}\n.nav{display:flex;gap:10px;align-items:center}\n.nav button{padding:7px 14px;font-size:12.5px;border:1px solid #cfd8d2;background:#fff;border-radius:3px;cursor:pointer;font-family:inherit;color:#3c4a44;font-weight:600}\n.nav button:hover{border-color:#186a4b;color:#186a4b}\n.acoes{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:11px;padding-top:11px;border-top:1px solid #e2e8e4}\n.acoes .stat{font-size:12.5px;color:#6b7873;margin-right:4px}\n.st-btn{padding:6px 13px;font-size:12.5px;border:1px solid #15211c;background:#15211c;color:#fff;border-radius:3px;cursor:pointer;font-family:inherit;font-weight:600}\n.st-btn.ghost{background:#fff;color:#15211c}\n.st-btn:hover{opacity:.85}\n.st-btn[disabled]{opacity:.4;cursor:not-allowed}\n.pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.6px;padding:1px 6px;border-radius:2px;background:#e2e8e4;color:#3c4a44;margin-left:6px}\n.pill.inv{background:#fdf6e3;color:#8c6d1f}\n.pill.fim{background:#e7f2ec;color:#14563c}\n.aviso{margin:0 16px 12px;font-size:12.5px;color:#8c6d1f;background:#fdf6e3;border:1px solid #f0e0b0;padding:9px 12px;border-radius:3px}\n.vazio{padding:26px;text-align:center;color:#8b968f;font-size:14px}\n.carregando{padding:26px;text-align:center;color:#6b7873;font-size:14px}\n.err{margin:16px;font-size:13px;color:#8c2a1e;background:#fbeae7;border:1px solid #e6b8b0;padding:11px 13px;border-radius:3px}\n@media(max-width:700px){.dl .nm{width:120px}th.ocult,td.ocult{display:none}}\n`,\n\n  render(d2) {\n    const s = d2.state;\n    if (s.erro) return `<div class=\"wrap\"><div class=\"shell\"><div class=\"err\">${esc(s.erro)}</div></div></div>`;\n    if (!s.registros) return `<div class=\"wrap\"><div class=\"shell\"><div class=\"card\"><div class=\"carregando\">Carregando reportes…</div></div></div></div>`;\n\n    const regs = s.registros.slice().sort((a, b) => new Date(b.criado_em || 0) - new Date(a.criado_em || 0));\n    const total = regs.length;\n    const acima = regs.filter((r) => eAcima(r.ia_nivel));\n    const diverg = regs.filter((r) => r.ia_divergencia);\n    const taxa = total ? Math.round((diverg.length / total) * 100) : 0;\n\n    const datas = regs.map((r) => new Date(r.criado_em)).filter((d) => !isNaN(d));\n    const unids = [];\n    regs.forEach((r) => { const u = (r.unidade || '').trim(); if (u && unids.indexOf(u) < 0) unids.push(u); });\n    const periodo = datas.length\n      ? dataCurta(new Date(Math.min.apply(null, datas))) + ' a ' + dataCurta(new Date(Math.max.apply(null, datas))) + ' · ' + unids.length + (unids.length === 1 ? ' unidade' : ' unidades')\n      : 'sem reportes no período';\n\n    const filtro = s.filtro || 'todos';\n    let lista = regs;\n    if (filtro === 'acima') lista = acima;\n    else if (filtro === 'diverg') lista = diverg;\n\n    const contaSA = regs.filter((r) => r.ia_area === 'SA').length;\n    const ordem = contaSA > total / 2 ? ORDEM_SA : ORDEM_ST;\n    const contagem = {};\n    regs.forEach((r) => { contagem[r.ia_nivel] = (contagem[r.ia_nivel] || 0) + 1; });\n    const maxCt = Math.max(1, ...ordem.map((k) => contagem[k] || 0));\n    const barras = ordem.slice().reverse().map((k) => {\n      const ct = contagem[k] || 0;\n      const up = eAcima(k);\n      const larg = Math.round((ct / maxCt) * 100);\n      const linha = `<div class=\"dl ${up ? 'up' : ''} ${ct ? '' : 'zero'}\"><span class=\"nm\">${esc(ROTULO[k] || k)}</span><span class=\"bar\" style=\"width:${ct ? Math.max(larg, 4) : 0}%\"></span><span class=\"ct\">${ct}</span></div>`;\n      return { k: k, up: up, html: linha };\n    });\n    let dist = '';\n    let jaCruzou = false;\n    barras.forEach((b) => {\n      if (!b.up && !jaCruzou) {\n        jaCruzou = true;\n        dist += `<div class=\"divisor\"><div class=\"r\"></div><span class=\"l\">A LINHA</span><div class=\"r\"></div></div>`;\n      }\n      dist += b.html;\n    });\n    const recon = contagem['RECONHECIMENTO_POSITIVO'] || 0;\n    if (recon) dist += `<div class=\"dl\"><span class=\"nm\">${esc(ROTULO.RECONHECIMENTO_POSITIVO)}</span><span class=\"bar\" style=\"width:${Math.max(Math.round((recon / maxCt) * 100), 4)}%\"></span><span class=\"ct\">${recon}</span></div>`;\n\n    const linhas = lista.length ? lista.map((r) => {\n      const up = eAcima(r.ia_nivel);\n      const aberto = s.aberto === r._id;\n      const declDif = r.ia_divergencia && r.tipo_declarado;\n      const det = aberto ? `<tr class=\"det\"><td colspan=\"5\">\n          <div class=\"q\"><div class=\"lb\">O trecho que decidiu</div>\"${esc(r.ia_trecho || '—')}\"</div>\n          <p><strong>Por quê:</strong> ${esc(r.ia_justificativa || '')}</p>\n          <p><strong>Ação recomendada:</strong> ${esc(r.ia_acao || '')}</p>\n          <p style=\"color:#6b7873\">${esc(r.setor || '')} · ${esc(r.agente || '')} · atendimento: ${esc(r.atendimento || '—')} · confiança ${esc(r.ia_confianca)}% · entrada por ${esc(r.origem || '—')}</p>\n          <div class=\"acoes\">\n            <span class=\"stat\">Status: <strong>${esc(r.status || '—')}</strong></span>\n            ${acoesDe(r, s)}\n          </div>\n        </td></tr>` : '';\n      return `<tr class=\"linha ${up ? 'alerta' : ''}\" data-key=\"${esc(r._id)}\" data-id=\"${esc(r._id)}\">\n          <td style=\"white-space:nowrap;font-variant-numeric:tabular-nums\">${dataCurta(r.criado_em)}</td>\n          <td><div class=\"tit\">${esc(r.titulo || '(sem título)')}${pill(r.status)}</div><div class=\"sub\">${esc(r.protocolo || '')} · ${esc(r.reportado_por || 'anônimo')}</div></td>\n          <td class=\"ocult\"><div class=\"sub\" style=\"margin:0\">${esc((r.unidade || '').split('—')[0].trim())}</div></td>\n          <td>${declDif ? '<span class=\"decl\">' + esc(r.tipo_declarado) + '</span><span class=\"seta\">&rarr;</span>' : ''}<strong>${esc(ROTULO[r.ia_nivel] || r.ia_nivel || '—')}</strong></td>\n          <td><span class=\"badge ${up ? 'up' : 'down'}\">${up ? 'ACIMA' : 'abaixo'}</span></td>\n        </tr>${det}`;\n    }).join('') : '<tr><td colspan=\"5\"><div class=\"vazio\">Nenhum reporte neste filtro.</div></td></tr>';\n\n    const fb = (k, t) => `<button data-f=\"${k}\" data-on=\"${filtro === k ? '1' : '0'}\">${t}</button>`;\n\n    return `<div class=\"wrap\"><div class=\"shell\">\n      <div class=\"top\">\n        <div><div class=\"n\">Painel de Reportes PreAction</div><div class=\"s\">${esc(periodo)}</div></div>\n        <div class=\"nav\"><button class=\"ir-reporte\">&larr; Novo reporte</button><div class=\"chip\">PREACTION</div></div>\n      </div>\n\n      <div class=\"tese\">\n        <div class=\"big\">${diverg.length}</div>\n        <div class=\"txt\">\n          <div class=\"t1\">${diverg.length === 1 ? 'reporte cruzou a linha sem ninguém perceber' : 'reportes cruzaram a linha sem ninguém perceber'}</div>\n          <div class=\"t2\">Foram registrados como indicador preventivo, mas a descrição do próprio colaborador conta um evento reativo. Sem a IA, ${diverg.length === 1 ? 'este caso ficaria' : 'estes casos ficariam'} fora da estatística e sem investigação.</div>\n        </div>\n      </div>\n\n      <div class=\"kpis\">\n        <div class=\"kpi\"><div class=\"v\">${total}</div><div class=\"l\">Reportes no período</div></div>\n        <div class=\"kpi up\"><div class=\"v\">${acima.length}</div><div class=\"l\">Acima da linha</div></div>\n        <div class=\"kpi up\"><div class=\"v\">${taxa}%</div><div class=\"l\">Taxa de subnotificação</div></div>\n        <div class=\"kpi down\"><div class=\"v\">${total - acima.length}</div><div class=\"l\">Preventivos</div></div>\n      </div>\n\n      <div class=\"card\">\n        <div class=\"hd\">Distribuição na pirâmide</div>\n        <div class=\"bd\"><div class=\"dist\">${dist}</div></div>\n      </div>\n\n      ${s.aviso ? '<div class=\"aviso\">' + esc(s.aviso) + '</div>' : ''}\n\n      <div class=\"card\">\n        <div class=\"hd\"><span>Reportes</span><span class=\"fil\">${fb('todos', 'Todos (' + total + ')')}${fb('acima', 'Acima da linha (' + acima.length + ')')}${fb('diverg', 'Divergências (' + diverg.length + ')')}</span></div>\n        <table>\n          <thead><tr><th>Data</th><th>Reporte</th><th class=\"ocult\">Unidade</th><th>Declarado → apurado</th><th>Linha</th></tr></thead>\n          <tbody>${linhas}</tbody>\n        </table>\n      </div>\n    </div></div>`;\n  },\n\n  mounted(d2) {\n    const carregar = async () => {\n      try {\n        const r = await d2.rush('sst-listar').invoke({});\n        const regs = (r && r.data && r.data.registros) || [];\n        // deep links: ?filtro=acima|diverg  ·  ?aberto=<protocolo>\n        let aberto = null;\n        let filtro = d2.state.filtro;\n        try {\n          const q = new URLSearchParams(location.search);\n          const f = q.get('filtro');\n          if (f === 'acima' || f === 'diverg' || f === 'todos') filtro = f;\n          const prot = q.get('aberto');\n          if (prot) {\n            const alvo = regs.filter((x) => x.protocolo === prot)[0];\n            if (alvo) aberto = alvo._id;\n          }\n        } catch (e) { /* sem query string */ }\n        d2.setState({ registros: regs, erro: '', aberto: aberto, filtro: filtro });\n      } catch (err) {\n        d2.setState({ erro: 'Não consegui carregar os reportes: ' + String(err.message || err) });\n      }\n    };\n    carregar();\n\n    d2.on('.fil button', 'click', (e) => {\n      d2.setState({ filtro: e.target.getAttribute('data-f'), aberto: null });\n    });\n\n    d2.on('tr.linha', 'click', (e) => {\n      const tr = e.target.closest('tr.linha');\n      if (!tr || e.target.closest('.st-btn')) return;\n      const id = tr.getAttribute('data-id');\n      d2.state.aberto = d2.state.aberto === id ? null : id;\n    });\n\n    d2.on('.ir-reporte', 'click', () => { d2.router('preaction-router').goTo('/'); });\n\n    d2.on('.st-btn', 'click', async (e) => {\n      const b = e.target.closest('.st-btn');\n      if (!b) return;\n      const id = b.getAttribute('data-id');\n      const st = b.getAttribute('data-st');\n      d2.setState({ salvandoStatus: id, aviso: '' });\n      try {\n        await d2.rush('sst-status').invoke({\n          id: id,\n          status: st,\n          investigacao_por: 'Gerência de SST',\n          investigacao_em: new Date().toISOString()\n        });\n        const regs = (d2.state.registros || []).map((r) => (r._id === id ? Object.assign({}, r, { status: st }) : r));\n        d2.setState({ registros: regs, salvandoStatus: null });\n      } catch (err) {\n        d2.setState({ salvandoStatus: null, aviso: 'Não consegui atualizar o status: ' + String(err.message || err) });\n      }\n    });\n  }\n};"}}}}}},"__d2PrevCode":{"code":"const ORDEM_ST = ['OBSERVACAO_ST', 'QUASE_ACIDENTE', 'FAC', 'MTC', 'RWC', 'LTI', 'FAT'];\nconst ORDEM_SA = ['OBSERVACAO_SA', 'QUASE_ACIDENTE', 'NAO_EVOLUIU', 'SUSPEITA', 'LESAO', 'DTHA_ALERGIA', 'FAT'];\nconst ACIMA = ['FAC', 'MTC', 'RWC', 'LTI', 'FAT', 'NAO_EVOLUIU', 'SUSPEITA', 'LESAO', 'DTHA_ALERGIA'];\nconst ROTULO = {\n  OBSERVACAO_ST: 'Observação ST', OBSERVACAO_SA: 'Observação SA',\n  QUASE_ACIDENTE: 'Quase acidente', RECONHECIMENTO_POSITIVO: 'Reconhecimento',\n  FAC: 'FAC · primeiros socorros', MTC: 'MTC · tratamento médico',\n  RWC: 'RWC · trabalho restrito', LTI: 'LTI · afastamento', FAT: 'FAT · fatalidade',\n  NAO_EVOLUIU: 'Não evoluiu', SUSPEITA: 'Suspeita', LESAO: 'Lesão por alimento',\n  DTHA_ALERGIA: 'DTHA / Alergia'\n};\n\nfunction esc(s) {\n  return String(s == null ? '' : s).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\n}\nfunction eAcima(n) { return ACIMA.indexOf(n) >= 0; }\nfunction dataCurta(v) {\n  if (!v) return '—';\n  const d = new Date(v);\n  if (isNaN(d)) return '—';\n  return String(d.getDate()).padStart(2, '0') + '/' + String(d.getMonth() + 1).padStart(2, '0');\n}\n\nfunction pill(st) {\n  if (!st || st === 'Novo' || st === 'Alerta aberto') return '';\n  if (st === 'Em investigação') return '<span class=\"pill inv\">EM INVESTIGAÇÃO</span>';\n  if (st === 'Encerrado') return '<span class=\"pill fim\">ENCERRADO</span>';\n  return '<span class=\"pill\">' + esc(st) + '</span>';\n}\n\nfunction acoesDe(r, s) {\n  const ocupado = s.salvandoStatus === r._id;\n  const btn = (st, txt, ghost) =>\n    '<button class=\"st-btn' + (ghost ? ' ghost' : '') + '\" data-id=\"' + esc(r._id) + '\" data-st=\"' + esc(st) + '\"' +\n    (ocupado ? ' disabled' : '') + '>' + esc(txt) + '</button>';\n  const out = [];\n  if (r.status !== 'Em investigação' && r.status !== 'Encerrado') {\n    out.push(btn('Em investigação', eAcima(r.ia_nivel) ? 'Abrir investigação' : 'Marcar para análise', false));\n  }\n  if (r.status !== 'Encerrado') out.push(btn('Encerrado', 'Encerrar', true));\n  else out.push(btn('Alerta aberto', 'Reabrir', true));\n  if (ocupado) out.push('<span class=\"stat\">gravando…</span>');\n  return out.join('');\n}\n\nexport default {\n  css: `\n:host{all:initial}\n*{box-sizing:border-box}\n.wrap{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;color:#15211c;background:#f2f4f1;height:100%;overflow:auto;padding:22px;line-height:1.5}\n.shell{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:16px}\n\n.top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}\n.top .n{font-size:21px;font-weight:700;letter-spacing:-.2px}\n.top .s{font-size:12.5px;color:#5b6862;margin-top:2px}\n.chip{border:1.5px solid #15211c;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:1.5px}\n\n.tese{background:#fbeae7;border:1.5px solid #b33a2b;border-radius:4px;padding:16px 19px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}\n.tese .big{font-size:40px;font-weight:700;color:#8c2a1e;line-height:1;font-variant-numeric:tabular-nums}\n.tese .txt{flex:1;min-width:250px}\n.tese .t1{font-size:15.5px;font-weight:700;color:#8c2a1e}\n.tese .t2{font-size:13.5px;color:#3c4a44;margin-top:3px}\n\n.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}\n.kpi{background:#fff;border:1px solid #d6ddd8;border-radius:4px;padding:14px 16px}\n.kpi .v{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}\n.kpi .l{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:#6b7873;margin-top:4px}\n.kpi.up .v{color:#b33a2b}\n.kpi.down .v{color:#186a4b}\n\n.card{background:#fff;border:1px solid #d6ddd8;border-radius:4px}\n.card .hd{padding:11px 16px;border-bottom:1px solid #e6ebe7;font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#6b7873;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}\n.card .bd{padding:16px}\n\n.dist{display:flex;flex-direction:column;gap:4px}\n.dl{display:flex;align-items:center;gap:10px;font-size:12.5px}\n.dl .nm{width:170px;flex:none;color:#3c4a44}\n.dl .bar{height:17px;border-radius:2px;background:#8dd2af;min-width:2px}\n.dl.up .bar{background:#e0918a}\n.dl .ct{font-size:12px;color:#6b7873;font-variant-numeric:tabular-nums}\n.dl.zero .nm,.dl.zero .ct{color:#aab5af}\n.divisor{display:flex;align-items:center;gap:9px;margin:7px 0}\n.divisor .r{flex:1;height:2.5px;background:#15211c}\n.divisor .l{font-size:9.5px;font-weight:700;letter-spacing:1.3px;white-space:nowrap}\n\n.fil{display:flex;gap:6px;flex-wrap:wrap}\n.fil button{padding:5px 12px;font-size:12px;border:1px solid #cfd8d2;background:#fff;border-radius:999px;cursor:pointer;font-family:inherit;color:#3c4a44}\n.fil button[data-on=\"1\"]{background:#15211c;color:#fff;border-color:#15211c}\n\ntable{width:100%;border-collapse:collapse;font-size:13.5px}\nth{text-align:left;padding:8px 12px;font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:#6b7873;border-bottom:1px solid #cfd8d2;white-space:nowrap}\ntd{padding:10px 12px;border-bottom:1px solid #eef2ef;vertical-align:top}\ntr.linha{cursor:pointer}\ntr.linha:hover td{background:#f7f9f7}\ntr.alerta td{background:#fdf3f1}\ntr.alerta:hover td{background:#fbeae7}\n.tit{font-weight:600}\n.sub{font-size:11.5px;color:#6b7873;margin-top:1px}\n.badge{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.7px;padding:2px 7px;border-radius:2px;white-space:nowrap}\n.badge.up{background:#b33a2b;color:#fff}\n.badge.down{background:#e2ebe5;color:#2c4a3c}\n.seta{color:#8b968f;padding:0 5px}\n.decl{color:#6b7873;text-decoration:line-through}\n.det td{background:#f7f9f7!important;font-size:13px}\n.det .q{border-left:3px solid #b33a2b;padding:7px 12px;background:#fff;border-radius:0 3px 3px 0;margin-bottom:8px}\n.det .lb{font-size:9.5px;letter-spacing:.8px;text-transform:uppercase;color:#8c2a1e;margin-bottom:3px}\n.det p{margin:0 0 7px}\n.nav{display:flex;gap:10px;align-items:center}\n.nav button{padding:7px 14px;font-size:12.5px;border:1px solid #cfd8d2;background:#fff;border-radius:3px;cursor:pointer;font-family:inherit;color:#3c4a44;font-weight:600}\n.nav button:hover{border-color:#186a4b;color:#186a4b}\n.acoes{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:11px;padding-top:11px;border-top:1px solid #e2e8e4}\n.acoes .stat{font-size:12.5px;color:#6b7873;margin-right:4px}\n.st-btn{padding:6px 13px;font-size:12.5px;border:1px solid #15211c;background:#15211c;color:#fff;border-radius:3px;cursor:pointer;font-family:inherit;font-weight:600}\n.st-btn.ghost{background:#fff;color:#15211c}\n.st-btn:hover{opacity:.85}\n.st-btn[disabled]{opacity:.4;cursor:not-allowed}\n.pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.6px;padding:1px 6px;border-radius:2px;background:#e2e8e4;color:#3c4a44;margin-left:6px}\n.pill.inv{background:#fdf6e3;color:#8c6d1f}\n.pill.fim{background:#e7f2ec;color:#14563c}\n.aviso{margin:0 16px 12px;font-size:12.5px;color:#8c6d1f;background:#fdf6e3;border:1px solid #f0e0b0;padding:9px 12px;border-radius:3px}\n.vazio{padding:26px;text-align:center;color:#8b968f;font-size:14px}\n.carregando{padding:26px;text-align:center;color:#6b7873;font-size:14px}\n.err{margin:16px;font-size:13px;color:#8c2a1e;background:#fbeae7;border:1px solid #e6b8b0;padding:11px 13px;border-radius:3px}\n@media(max-width:700px){.dl .nm{width:120px}th.ocult,td.ocult{display:none}}\n`,\n\n  render(d2) {\n    const s = d2.state;\n    if (s.erro) return `<div class=\"wrap\"><div class=\"shell\"><div class=\"err\">${esc(s.erro)}</div></div></div>`;\n    if (!s.registros) return `<div class=\"wrap\"><div class=\"shell\"><div class=\"card\"><div class=\"carregando\">Carregando reportes…</div></div></div></div>`;\n\n    const regs = s.registros.slice().sort((a, b) => new Date(b.criado_em || 0) - new Date(a.criado_em || 0));\n    const total = regs.length;\n    const acima = regs.filter((r) => eAcima(r.ia_nivel));\n    const diverg = regs.filter((r) => r.ia_divergencia);\n    const taxa = total ? Math.round((diverg.length / total) * 100) : 0;\n\n    const datas = regs.map((r) => new Date(r.criado_em)).filter((d) => !isNaN(d));\n    const unids = [];\n    regs.forEach((r) => { const u = (r.unidade || '').trim(); if (u && unids.indexOf(u) < 0) unids.push(u); });\n    const periodo = datas.length\n      ? dataCurta(new Date(Math.min.apply(null, datas))) + ' a ' + dataCurta(new Date(Math.max.apply(null, datas))) + ' · ' + unids.length + (unids.length === 1 ? ' unidade' : ' unidades')\n      : 'sem reportes no período';\n\n    const filtro = s.filtro || 'todos';\n    let lista = regs;\n    if (filtro === 'acima') lista = acima;\n    else if (filtro === 'diverg') lista = diverg;\n\n    const contaSA = regs.filter((r) => r.ia_area === 'SA').length;\n    const ordem = contaSA > total / 2 ? ORDEM_SA : ORDEM_ST;\n    const contagem = {};\n    regs.forEach((r) => { contagem[r.ia_nivel] = (contagem[r.ia_nivel] || 0) + 1; });\n    const maxCt = Math.max(1, ...ordem.map((k) => contagem[k] || 0));\n    const barras = ordem.slice().reverse().map((k) => {\n      const ct = contagem[k] || 0;\n      const up = eAcima(k);\n      const larg = Math.round((ct / maxCt) * 100);\n      const linha = `<div class=\"dl ${up ? 'up' : ''} ${ct ? '' : 'zero'}\"><span class=\"nm\">${esc(ROTULO[k] || k)}</span><span class=\"bar\" style=\"width:${ct ? Math.max(larg, 4) : 0}%\"></span><span class=\"ct\">${ct}</span></div>`;\n      return { k: k, up: up, html: linha };\n    });\n    let dist = '';\n    let jaCruzou = false;\n    barras.forEach((b) => {\n      if (!b.up && !jaCruzou) {\n        jaCruzou = true;\n        dist += `<div class=\"divisor\"><div class=\"r\"></div><span class=\"l\">A LINHA</span><div class=\"r\"></div></div>`;\n      }\n      dist += b.html;\n    });\n    const recon = contagem['RECONHECIMENTO_POSITIVO'] || 0;\n    if (recon) dist += `<div class=\"dl\"><span class=\"nm\">${esc(ROTULO.RECONHECIMENTO_POSITIVO)}</span><span class=\"bar\" style=\"width:${Math.max(Math.round((recon / maxCt) * 100), 4)}%\"></span><span class=\"ct\">${recon}</span></div>`;\n\n    const linhas = lista.length ? lista.map((r) => {\n      const up = eAcima(r.ia_nivel);\n      const aberto = s.aberto === r._id;\n      const declDif = r.ia_divergencia && r.tipo_declarado;\n      const det = aberto ? `<tr class=\"det\"><td colspan=\"5\">\n          <div class=\"q\"><div class=\"lb\">O trecho que decidiu</div>\"${esc(r.ia_trecho || '—')}\"</div>\n          <p><strong>Por quê:</strong> ${esc(r.ia_justificativa || '')}</p>\n          <p><strong>Ação recomendada:</strong> ${esc(r.ia_acao || '')}</p>\n          <p style=\"color:#6b7873\">${esc(r.setor || '')} · ${esc(r.agente || '')} · atendimento: ${esc(r.atendimento || '—')} · confiança ${esc(r.ia_confianca)}% · entrada por ${esc(r.origem || '—')}</p>\n          <div class=\"acoes\">\n            <span class=\"stat\">Status: <strong>${esc(r.status || '—')}</strong></span>\n            ${acoesDe(r, s)}\n          </div>\n        </td></tr>` : '';\n      return `<tr class=\"linha ${up ? 'alerta' : ''}\" data-key=\"${esc(r._id)}\" data-id=\"${esc(r._id)}\">\n          <td style=\"white-space:nowrap;font-variant-numeric:tabular-nums\">${dataCurta(r.criado_em)}</td>\n          <td><div class=\"tit\">${esc(r.titulo || '(sem título)')}${pill(r.status)}</div><div class=\"sub\">${esc(r.protocolo || '')} · ${esc(r.reportado_por || 'anônimo')}</div></td>\n          <td class=\"ocult\"><div class=\"sub\" style=\"margin:0\">${esc((r.unidade || '').split('—')[0].trim())}</div></td>\n          <td>${declDif ? '<span class=\"decl\">' + esc(r.tipo_declarado) + '</span><span class=\"seta\">&rarr;</span>' : ''}<strong>${esc(ROTULO[r.ia_nivel] || r.ia_nivel || '—')}</strong></td>\n          <td><span class=\"badge ${up ? 'up' : 'down'}\">${up ? 'ACIMA' : 'abaixo'}</span></td>\n        </tr>${det}`;\n    }).join('') : '<tr><td colspan=\"5\"><div class=\"vazio\">Nenhum reporte neste filtro.</div></td></tr>';\n\n    const fb = (k, t) => `<button data-f=\"${k}\" data-on=\"${filtro === k ? '1' : '0'}\">${t}</button>`;\n\n    return `<div class=\"wrap\"><div class=\"shell\">\n      <div class=\"top\">\n        <div><div class=\"n\">Painel de Reportes PreAction</div><div class=\"s\">${esc(periodo)}</div></div>\n        <div class=\"nav\"><button class=\"ir-reporte\">&larr; Novo reporte</button><div class=\"chip\">PREACTION</div></div>\n      </div>\n\n      <div class=\"tese\">\n        <div class=\"big\">${diverg.length}</div>\n        <div class=\"txt\">\n          <div class=\"t1\">${diverg.length === 1 ? 'reporte cruzou a linha sem ninguém perceber' : 'reportes cruzaram a linha sem ninguém perceber'}</div>\n          <div class=\"t2\">Foram registrados como indicador preventivo, mas a descrição do próprio colaborador conta um evento reativo. Sem a IA, ${diverg.length === 1 ? 'este caso ficaria' : 'estes casos ficariam'} fora da estatística e sem investigação.</div>\n        </div>\n      </div>\n\n      <div class=\"kpis\">\n        <div class=\"kpi\"><div class=\"v\">${total}</div><div class=\"l\">Reportes no período</div></div>\n        <div class=\"kpi up\"><div class=\"v\">${acima.length}</div><div class=\"l\">Acima da linha</div></div>\n        <div class=\"kpi up\"><div class=\"v\">${taxa}%</div><div class=\"l\">Taxa de subnotificação</div></div>\n        <div class=\"kpi down\"><div class=\"v\">${total - acima.length}</div><div class=\"l\">Preventivos</div></div>\n      </div>\n\n      <div class=\"card\">\n        <div class=\"hd\">Distribuição na pirâmide</div>\n        <div class=\"bd\"><div class=\"dist\">${dist}</div></div>\n      </div>\n\n      ${s.aviso ? '<div class=\"aviso\">' + esc(s.aviso) + '</div>' : ''}\n\n      <div class=\"card\">\n        <div class=\"hd\"><span>Reportes</span><span class=\"fil\">${fb('todos', 'Todos (' + total + ')')}${fb('acima', 'Acima da linha (' + acima.length + ')')}${fb('diverg', 'Divergências (' + diverg.length + ')')}</span></div>\n        <table>\n          <thead><tr><th>Data</th><th>Reporte</th><th class=\"ocult\">Unidade</th><th>Declarado → apurado</th><th>Linha</th></tr></thead>\n          <tbody>${linhas}</tbody>\n        </table>\n      </div>\n    </div></div>`;\n  },\n\n  mounted(d2) {\n    const carregar = async () => {\n      try {\n        const r = await d2.rush('sst-listar').invoke({});\n        const regs = (r && r.data && r.data.registros) || [];\n        d2.setState({ registros: regs, erro: '' });\n      } catch (err) {\n        d2.setState({ erro: 'Não consegui carregar os reportes: ' + String(err.message || err) });\n      }\n    };\n    carregar();\n\n    d2.on('.fil button', 'click', (e) => {\n      d2.setState({ filtro: e.target.getAttribute('data-f'), aberto: null });\n    });\n\n    d2.on('tr.linha', 'click', (e) => {\n      const tr = e.target.closest('tr.linha');\n      if (!tr || e.target.closest('.st-btn')) return;\n      const id = tr.getAttribute('data-id');\n      d2.state.aberto = d2.state.aberto === id ? null : id;\n    });\n\n    d2.on('.ir-reporte', 'click', () => { d2.router('preaction-router').goTo('/'); });\n\n    d2.on('.st-btn', 'click', async (e) => {\n      const b = e.target.closest('.st-btn');\n      if (!b) return;\n      const id = b.getAttribute('data-id');\n      const st = b.getAttribute('data-st');\n      d2.setState({ salvandoStatus: id, aviso: '' });\n      try {\n        await d2.rush('sst-status').invoke({\n          id: id,\n          status: st,\n          investigacao_por: 'Gerência de SST',\n          investigacao_em: new Date().toISOString()\n        });\n        const regs = (d2.state.registros || []).map((r) => (r._id === id ? Object.assign({}, r, { status: st }) : r));\n        d2.setState({ registros: regs, salvandoStatus: null });\n      } catch (err) {\n        d2.setState({ salvandoStatus: null, aviso: 'Não consegui atualizar o status: ' + String(err.message || err) });\n      }\n    });\n  }\n};","at":"2026-08-29T01:30:04.351Z"}}}]}},{"reference":"ExternalComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"_id":"5f060d9b1ca96def42f3c40a","displayName":"Builder AuthStrategy","component":"data2-core@AuthenticationStrategy","system":"5e3b796d6228227ca637d0f4","params":{"credentials":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"verifier":{"component":"data2-core-types@DataSetReference","params":{"reference":"UsersDataSet"}},"sessionShared":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"password":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},"email":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},"resetPassword":{"resetEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"nR6Q9d7qdaPtZhJ28Q8Dy"},"component":"data2-core-types@ArtboardReference"}},"resetSuccessEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"yPCJBTKo8q1Mw0B_3Kpwl"},"component":"data2-core-types@ArtboardReference"}}},"session":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"name"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"sessionMetadata":{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},{"params":{"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"active"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.status"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is active user"}]},"component":"data2-core-logical-operators@And","displayName":"is active and has _id"}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $user"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-primitives@String","params":{"content":"@data2.app"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.email"}}}}},"component":"data2-core-functions@Includes","displayName":"isData2User"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}},"component":"data2-core-flow@Step"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.d2_app"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"management"}}]},"component":"data2-core-functions@Includes","displayName":"isData2App Exception"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}},"component":"data2-core-flow@Step"},{"params":{"resultName":{"component":"data2-core-primitives@String","params":{"content":"has_access"}},"action":{"params":{"compare":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}}}]},"component":"data2-core-logical-operators@Or"},"else":{"params":{"actions":[{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $metadata.system"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":"filter","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records.length"}}}}},"component":"data2-core-logical-operators@Not","displayName":"systems not found"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check system found"},{"params":{"actions":[{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"organization":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"cursor.current.organization._id"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"}]},"component":"data2-core-flow@Parallel"}]},"component":"data2-core-flow@Series","displayName":"common setup"},{"params":{"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"else":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"compare":{"params":{"components":{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"mapper":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"system"}}],"body":{"params":{"expression":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.visibility"}}}},"defaultCase":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"public"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"billing-owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}},{"component":"data2-core-primitives@String","params":{"content":"member"}}]},"component":"data2-core-functions@Includes","displayName":"has role with access"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"collaborator"}}},"component":"data2-core-comparison-operators@Equal","displayName":"is collaborator"}]},"component":"data2-core-logical-operators@And","displayName":"is org member and collaborator"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is collaborator"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is collaborator and has system access"}]},"component":"data2-core-logical-operators@Or"}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"private"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}}]},"component":"data2-core-functions@Includes","displayName":"is owner/admin"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is owner/admin"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is member and has system access"}]},"component":"data2-core-logical-operators@Or","displayName":"is owner/admin or has system access"}}}]},"component":"data2-core-flow@Switch"}}}},"component":"data2-core-functions@ArrayMap"}},"component":"data2-core-logical-operators@And","displayName":"has org member for all systems in request"}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"}},"component":"data2-core-flow@If"}},"component":"data2-core-flow@Step"},{"params":{"then":{"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"else":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"},"compare":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"has_access"}}}}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"sessionExpiresIn":{"component":"data2-core-primitives@Number","params":{"content":604800}},"sessionRenewal":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"identityProviders":[{"provider":{"component":"data2-core-primitives@String","params":{"content":"GOOGLE"}},"clientId":{"component":"data2-core-primitives@String","params":{"content":"55470861603-22pvfc1t49lp8cjnbfk71s5ct9hp1q1v.apps.googleusercontent.com"}}}]},"reference":"Data2BuilderAuthentication","updatedAt":"2026-08-06T19:31:23.557Z"},{"_id":"5f060ee51ca96def42f3fbd1","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"UsersTableDataSource"}},"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}}},"reference":"UsersDataSet","updatedAt":"2026-03-04T21:16:40.291Z"},{"_id":"68f938cf5fb002e33752a43d","displayName":"InternalApplicationsAuthenticationStrategy","component":"data2-core@AuthenticationStrategy","system":"5e3b796d6228227ca637d0f4","params":{"resetPassword":{"resetEmail":{"artboard":{"params":{"preventEvaluation":true},"component":"data2-core-types@ArtboardReference"}},"resetSuccessEmail":{"artboard":{"params":{"preventEvaluation":true},"component":"data2-core-types@ArtboardReference"}}},"verifier":{"disabled":false,"component":"data2-core-types@DataSetReference","params":{"reference":"InternalApplicationsVerifierDataSet"}},"password":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"secret"}},"credentials":[{"component":"data2-core-types@FieldReference","params":{"key":"application"}},{"component":"data2-core-types@FieldReference","params":{"key":"secret"}},{"component":"data2-core-types@FieldReference","params":{"key":"status"}}],"session":[{"component":"data2-core-types@FieldReference","params":{"key":"application"}},{"component":"data2-core-types@FieldReference","params":{"key":"secret"}},{"component":"data2-core-types@FieldReference","params":{"key":"status"}}]},"reference":"InternalApplicationsAuthenticationStrategy","updatedAt":"2025-10-22T20:08:54.442Z","createdAt":"2025-10-22T20:04:31.198Z"},{"component":"data2-core@DataSet","reference":"SessionsDataSet","params":{"requiresConfirmation":false,"pk":"key","datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"data2sessionsdatasource"}}}},{"reference":"UsersTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@ServerSessionsDataSource","reference":"data2sessionsdatasource","params":{}},{"_id":"5f1600b70528b92601890f75","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ServiceComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ServiceComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:20.208Z","createdAt":"2020-07-20T20:38:15.436Z"},{"_id":"5f1602190528b92601890f7d","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":40000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentInstancesTableDataSource"}},"sort":{"_id":1},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:07.089Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"5f16017f0528b92601890f7a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"FileComponentInstancesDataSet","updatedAt":"2023-08-03T16:08:18.193Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"5f1601990528b92601890f7b","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ApplicationsTableDataSource"}},"pk":"_id","autoEdit":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"params":{"column":"_id"},"component":"data2-core-types@DataSetColumnReference"}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"ApplicationsDataSet","updatedAt":"2022-12-13T21:51:13.995Z","createdAt":"2020-07-20T20:42:01.657Z"},{"_id":"5f16172a0528b92601890f85","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":10000}}},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"DataComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"DataComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:12.831Z","createdAt":"2020-07-20T22:14:02.097Z"},{"_id":"60ddc1bbda3861ca65407c5a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"pagination":{"size":1},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"}},"reference":"OneFileComponentInstancesDataSet","updatedAt":"2022-02-09T19:44:38.036Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"63ee3d38b8c9838c62fb05fb","displayName":"DriveFileComponentInstancesDataSet","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core@Drive"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"DriveFileComponentInstancesDataSet","updatedAt":"2025-12-04T21:58:32.367Z","createdAt":"2023-02-16T14:27:07.797Z"},{"reference":"ServiceComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a922cd42c78bf972cef5854","component":"data2-core-primitives@Artboard","system":"69fe34b018c813c5be7bddd9","displayName":"PreAction — Painel","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"PreAction — Painel"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1200,"height":1500}},"position":{"component":"data2-core-types@Position","params":{"x":-2551,"y":27,"exactX":-2550.73,"exactY":27.07}}},"reference":"k-Pm_HPKJLvocqWHY_sPU","deleteMetadata":{}},{"_id":"c097aee6cef23007f20b2d8f","parent":"6a922cd42c78bf972cef5854","component":"people-le-moura@preaction-painel","system":"69fe34b018c813c5be7bddd9","displayName":"Painel PreAction","params":{"super":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1200,"height":1500}}}},"reference":"cyWvEY3_7XOZQfiKOGiyY","deleteMetadata":{}}]}},{"_id":"5fc4faeec8da12be8bf3d08a","component":"data2-core@Data2TableDataSource","system":"5e3b796d6228227ca637d0f4","params":{"paginate":{"default":1000},"super":{},"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"fileId"}},"title":"File ID","component":"data2-core-primitives@ObjectId"},"break":true}],"hooks":{"before":{"all":[{"hook":"softDelete"}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"timestamp","options":{"fields":["createdAt","updatedAt"]}}],"update":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}],"patch":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}]},"after":{"all":[{"hook":"fileUrl","options":{"downloadField":"params.fileUrl","uploadField":"params.uploadFileUrl","enhanceSchema":false}}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"update":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"patch":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"remove":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}]}},"multi":["create"],"useEstimatedDocumentCount":true},"reference":"FileComponentInstancesTableDataSource","updatedAt":"2022-12-19T20:42:51.837Z","createdAt":"2020-11-30T13:59:52.294Z"},{"reference":"ApplicationsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a922cde08e43b08a99f6d89","displayName":"PreAction — Painel do Gestor","reference":"TFSZ_Jj34CM4UaXvER_fR","params":{"domain":{"component":"data2-core-primitives@String","params":{"content":"preaction-painel"}},"entryPoint":{"component":"data2-core-types@ComponentInstanceReference","params":{"component":"data2-core-primitives@Artboard","reference":"k-Pm_HPKJLvocqWHY_sPU"}}},"system":"69fe34b018c813c5be7bddd9","component":"data2-core-primitives@Application"}]}},{"reference":"DataComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"BundlesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}}],"processesParams":{}}}}