{"context":{"domain":"cubbo-app"},"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":"6a7ca6cb11f8a5ec77c18b42","name":"app","domain":"cubbo-app","visibility":"public","updatedAt":"2026-08-12T17:00:59.517Z","createdAt":"2026-08-12T17:00:59.517Z"}]}},{"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":"6a900fdd342fe6365bfed6af","component":"data2-core-types@Component","system":"6a7ca6cb11f8a5ec77c18b42","params":{"extends":"data2-core-primitives@Block","component":"cubbo-ops-panel","package":"cubbo-app","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 GATE_PASSWORD = 'democubodata2';\nconst SEARCH_URL = 'https://cubbo-app.data2apis.com/rush/cubbo-picking-search';\n\nconst LOGO_SVG = (color, h) => `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 91 32\" height=\"${h}\" style=\"color:${color}\"><path d=\"M56.6655 8.91406C57.5045 8.91406 58.2671 8.91406 59.106 8.91406C59.106 8.99025 59.106 9.14263 59.106 9.21882C59.106 10.6664 59.106 12.1141 59.106 13.6379C59.106 13.7141 59.106 13.7903 59.106 13.9426C59.1823 13.8664 59.2586 13.8664 59.2586 13.7903C59.945 13.0283 60.8601 12.6474 61.8516 12.5712C62.6905 12.495 63.5294 12.6474 64.2921 13.0283C65.5124 13.7141 66.4275 14.7807 66.8089 16.1522C67.1902 17.5998 67.1139 18.9712 66.3513 20.2664C65.7412 21.3331 64.9022 22.1712 63.682 22.5522C62.7668 22.8569 61.8516 22.8569 60.9364 22.5522C60.3263 22.3998 59.7924 22.0188 59.3348 21.5617C59.2586 21.4855 59.2586 21.4093 59.106 21.3331C59.0298 21.7141 59.106 22.095 59.106 22.476C58.2671 22.476 57.5045 22.476 56.6655 22.476C56.6655 18.0569 56.6655 13.4855 56.6655 8.91406ZM61.9279 20.495C62.6905 20.495 63.4532 20.1903 63.987 19.4283C64.3684 18.895 64.5209 18.2093 64.5209 17.5236C64.5209 16.9141 64.2921 16.3807 63.9108 15.9236C63.3007 15.1617 62.4617 14.8569 61.5465 15.0093C60.4788 15.0855 59.5636 15.8474 59.2586 16.9141C59.1823 17.295 59.106 17.676 59.1823 18.1331C59.3348 19.5045 60.4025 20.495 61.9279 20.495Z\" fill=\"currentColor\"/><path d=\"M68.8682 8.91406C69.6308 8.91406 70.4697 8.91406 71.3087 8.91406C71.3087 9.14263 71.3087 9.4474 71.3087 9.75216C71.3087 10.0569 71.3087 10.2855 71.3087 10.5903C71.3087 10.895 71.3087 11.1236 71.3087 11.4283C71.3087 11.7331 71.3087 11.9617 71.3087 12.2664C71.3087 12.5712 71.3087 12.7998 71.3087 13.1045C71.3087 13.4093 71.3087 13.6379 71.3087 13.9426C71.3849 13.8664 71.4612 13.7903 71.4612 13.7903C72.1476 13.0283 72.9865 12.6474 74.0542 12.5712C74.8932 12.495 75.7321 12.6474 76.4947 13.0283C77.9438 13.7903 78.7827 15.0093 79.0878 16.6855C79.3166 17.7522 79.2403 18.895 78.7827 19.8855C78.2489 21.1045 77.4099 22.0188 76.1134 22.5522C74.8932 23.0093 73.6729 23.0093 72.5289 22.3998C72.1476 22.2474 71.8425 21.9426 71.5375 21.6379C71.4612 21.5617 71.4612 21.5617 71.3087 21.4093C71.3087 21.7903 71.3087 22.1712 71.3087 22.476C71.0799 22.5522 69.3258 22.5522 68.8682 22.476C68.8682 22.3998 68.8682 9.21882 68.8682 8.91406ZM76.7235 17.676C76.7235 16.9903 76.4947 16.3045 75.9609 15.7712C75.427 15.2379 74.7406 14.9331 73.978 15.0093C73.2916 15.0093 72.6815 15.2379 72.1476 15.695C71.1561 16.6093 71.0799 18.2093 71.6137 19.1998C72.0713 20.0379 72.834 20.495 73.8254 20.5712C74.5118 20.6474 75.1982 20.4188 75.7321 19.9617C76.4185 19.3522 76.7235 18.5903 76.7235 17.676Z\" fill=\"currentColor\"/><path d=\"M43.7765 11.8858C43.0139 12.3429 42.2512 12.8001 41.4885 13.181C41.4885 13.1048 41.4123 13.1048 41.4123 13.1048C40.8021 12.1144 39.9632 11.581 38.8955 11.3525C37.904 11.1239 36.9126 11.2001 35.9974 11.6572C34.9297 12.1905 34.167 13.0286 33.7857 14.1715C33.4806 15.2382 33.4044 16.3048 33.7857 17.3715C34.3195 19.0477 35.5398 19.962 37.2939 20.1905C38.1328 20.2667 38.9718 20.1905 39.7344 19.8858C40.4208 19.581 41.0309 19.1239 41.4123 18.4382C41.4123 18.362 41.4885 18.362 41.4885 18.2858C42.2512 18.7429 43.0139 19.1239 43.7765 19.581C43.7002 19.6572 43.7002 19.7334 43.624 19.8096C42.7851 21.1048 41.5648 22.0191 40.0395 22.4763C38.0566 23.0858 36.1499 22.9334 34.3958 21.9429C32.4892 20.8763 31.3452 19.2001 30.9639 16.9905C30.7351 15.6191 30.8113 14.2477 31.4214 12.9525C32.4129 10.6667 34.0908 9.29531 36.5313 8.76198C38.0566 8.45721 39.5819 8.60959 40.9547 9.29531C42.0224 9.82864 42.9376 10.5905 43.624 11.581C43.624 11.6572 43.7002 11.7334 43.7765 11.8858Z\" fill=\"currentColor\"/><path d=\"M90.7561 17.7523C90.7561 20.6475 88.4682 22.9332 85.5701 22.857C82.7482 22.857 80.4603 20.4951 80.5365 17.5999C80.5365 14.7808 82.9008 12.4951 85.7226 12.4951C88.3919 12.5713 90.7561 14.857 90.7561 17.7523ZM88.2394 17.7523C88.2394 17.1427 88.0868 16.6094 87.7818 16.1523C87.1716 15.3142 86.409 15.0094 85.4175 15.0094C84.5023 15.0856 83.8159 15.4665 83.2821 16.3046C82.977 16.838 82.9008 17.4475 82.977 18.057C83.2058 20.1904 85.4175 21.0285 86.9428 20.1142C87.858 19.5808 88.2394 18.7427 88.2394 17.7523Z\" fill=\"currentColor\"/><path d=\"M47.8186 12.876C47.8186 13.0284 47.8186 13.1046 47.8186 13.1808C47.8186 14.9332 47.8186 16.6855 47.8186 18.3617C47.8186 18.5903 47.8186 18.8951 47.8949 19.1236C48.0474 19.9617 48.6575 20.4951 49.5727 20.4951C49.8778 20.4951 50.1829 20.4951 50.4117 20.4189C51.1743 20.2665 51.6319 19.7332 51.7844 18.9713C51.8607 18.6665 51.8607 18.2855 51.8607 17.9808C51.8607 16.3808 51.8607 14.7808 51.8607 13.1046C51.8607 13.0284 51.8607 12.876 51.8607 12.7998C52.0132 12.7236 53.9199 12.7236 54.3012 12.7998C54.3775 12.9522 54.3775 22.1713 54.3012 22.476C54.1487 22.5522 52.1658 22.5522 51.8607 22.476C51.8607 22.1713 51.8607 21.7903 51.8607 21.4093C51.7844 21.4855 51.7082 21.5617 51.7082 21.5617C51.1743 22.2474 50.4879 22.5522 49.5727 22.7046C48.9626 22.7808 48.3525 22.7808 47.7424 22.5522C46.5221 22.1713 45.7594 21.257 45.3781 20.0379C45.3019 19.657 45.2256 19.1998 45.2256 18.8189C45.2256 16.8379 45.2256 14.9332 45.2256 12.9522C45.2256 12.876 45.2256 12.7998 45.2256 12.7236C46.1408 12.876 46.9797 12.876 47.8186 12.876Z\" fill=\"currentColor\"/><path d=\"M12.8892 21.2572V31.5429L25.3968 26.0572V15.8477L12.8892 21.2572Z\" fill=\"currentColor\"/><path d=\"M12.2788 0.0761719L0 5.4857V15.7714L12.2788 10.2857V0.0761719Z\" fill=\"currentColor\"/><path d=\"M12.8892 0V10.2857L20.5157 13.4095V3.27619L12.8892 0Z\" fill=\"currentColor\"/><path d=\"M12.2788 21.2572L0 15.8477V26.1334L12.2788 31.6191V21.2572Z\" fill=\"currentColor\"/></svg>`;\n\nfunction esc(s) {\n  return String(s == null ? '' : s).replace(/[&<>\"']/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]));\n}\nfunction fmtDateTime(iso) {\n  try { return new Date(iso).toLocaleString('pt-BR'); } catch (e) { return iso || ''; }\n}\nconst STATUS_COLOR = {\n  'Aguardando picking': '#92600B',\n  'Separado e embalado': '#1D4ED8',\n};\n\nexport default {\n  css: `\n    :host { display:block; height:100%; width:100%; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,sans-serif; }\n    .app { height:100%; width:100%; background:#F4F5FA; display:flex; flex-direction:column; }\n    .topbar { background:#0B1120; color:#fff; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }\n    .topbar-left { display:flex; align-items:center; gap:14px; }\n    .topbar-title { font-size:14px; font-weight:600; color:#C7CBE0; letter-spacing:.02em; border-left:1px solid #2A2F45; padding-left:14px; }\n    .gate-wrap { flex:1; display:flex; align-items:center; justify-content:center; padding:24px; }\n    .gate-card { background:#fff; border:1px solid #E4E6F0; border-radius:16px; padding:40px; width:100%; max-width:380px; text-align:center; }\n    .logo-chip { display:inline-flex; align-items:center; justify-content:center; background:#0B1120; border-radius:10px; padding:10px 16px; }\n    .gate-card input { width:100%; box-sizing:border-box; padding:12px 14px; border-radius:10px; border:1px solid #D6D9EA; font-size:15px; margin-top:18px; text-align:center; letter-spacing:.05em; }\n    .gate-card input:focus { outline:none; border-color:#4338CA; }\n    .btn { background:#4338CA; color:#fff; border:none; border-radius:10px; padding:11px 18px; font-size:14px; font-weight:600; cursor:pointer; }\n    .btn:hover { background:#3730A3; }\n    .gate-error { color:#DC2626; font-size:13px; margin-top:10px; min-height:16px; }\n    .content { flex:1; overflow-y:auto; padding:28px 32px; }\n    .search-row { display:flex; gap:10px; margin-bottom:18px; max-width:520px; }\n    .search-row input { flex:1; box-sizing:border-box; padding:11px 14px; border-radius:10px; border:1px solid #D6D9EA; font-size:14px; }\n    .search-row input:focus { outline:none; border-color:#4338CA; }\n    table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; border:1px solid #E4E6F0; }\n    th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:#8B8FA8; background:#F8F8FC; padding:11px 14px; border-bottom:1px solid #E4E6F0; }\n    td { padding:12px 14px; font-size:13px; color:#1F2233; border-bottom:1px solid #F0F1F6; vertical-align:top; }\n    tr:last-child td { border-bottom:none; }\n    .mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:#4338CA; }\n    .pill { display:inline-block; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:#EEF0FE; color:#4338CA; }\n    .empty { text-align:center; padding:60px 0; color:#8B8FA8; font-size:13px; }\n    .api-box { margin-top:28px; background:#0B1120; border-radius:14px; padding:20px 24px; }\n    .api-box .lbl { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#818CF8; font-weight:700; }\n    .api-box .desc { font-size:12.5px; color:#9CA3D4; margin:6px 0 12px; }\n    .api-box code { display:block; background:#161B2E; color:#D7DAF0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; padding:12px 14px; border-radius:8px; white-space:pre-wrap; word-break:break-all; }\n  `,\n  render(d2) {\n    const s = d2.state;\n    if (!s.unlocked) {\n      return `\n        <div class=\"app\">\n          <div class=\"gate-wrap\">\n            <div class=\"gate-card\">\n              <div class=\"logo-chip\">${LOGO_SVG('#fff', 26)}</div>\n              <div style=\"margin-top:14px;font-size:14px;color:#5B5F78;\">Painel Operacional &mdash; acesso restrito</div>\n              <input class=\"js-gate-input\" type=\"password\" placeholder=\"Senha de acesso\" />\n              <div class=\"gate-error\">${esc(s.gateError || '')}</div>\n              <div style=\"margin-top:6px;\"><button class=\"btn js-gate-submit\" style=\"width:100%;\">Entrar</button></div>\n            </div>\n          </div>\n        </div>`;\n    }\n\n    const rows = s.rows || [];\n    const rowsHtml = rows.length ? rows.map((o) => `\n      <tr data-key=\"${esc(o._id)}\">\n        <td>${fmtDateTime(o.createdAt)}</td>\n        <td>${esc(o.operatorName)}</td>\n        <td class=\"mono\">${esc(o.boxCode)}</td>\n        <td class=\"mono\">${esc(o.orderCode)}</td>\n        <td>${esc(o.customerName)}<br/><span class=\"mono\" style=\"color:#8B8FA8;\">${esc(o.customerCode)}</span></td>\n        <td>${esc(o.city)}${o.city && o.state ? '/' : ''}${esc(o.state)}</td>\n        <td>${o.measuredWeightKg != null ? o.measuredWeightKg.toFixed(2) + ' kg' : '—'}</td>\n        <td>${o.durationSec != null ? o.durationSec + 's' : '—'}</td>\n        <td>${o.videoUrl ? `<a class=\"mono\" href=\"${esc(o.videoUrl)}\" target=\"_blank\" rel=\"noopener\" style=\"color:#4338CA;font-weight:600;\">Ver video &rarr;</a>` : '—'}</td>\n      </tr>`).join('') : '';\n\n    return `\n      <div class=\"app\">\n        <div class=\"topbar\">\n          <div class=\"topbar-left\">\n            ${LOGO_SVG('#fff', 22)}\n            <div class=\"topbar-title\">Painel Operacional</div>\n          </div>\n        </div>\n        <div class=\"content\">\n          <div class=\"search-row\">\n            <input class=\"js-search-input\" type=\"text\" placeholder=\"Buscar por pedido, cliente ou caixa...\" value=\"${esc(s.query || '')}\" />\n            <button class=\"btn js-search-btn\">Buscar</button>\n          </div>\n          ${\n            s.loading ? '<div class=\"empty\">Carregando...</div>' :\n            rows.length ? `\n            <table>\n              <thead><tr>\n                <th>Quando</th><th>Operador</th><th>Caixa</th><th>Pedido</th><th>Cliente</th><th>Cidade/UF</th><th>Peso</th><th>Duracao</th><th>Video</th>\n              </tr></thead>\n              <tbody>${rowsHtml}</tbody>\n            </table>` :\n            `<div class=\"empty\">Nenhum picking registrado ainda. Escaneie uma caixa na Estação de Picking para gerar o primeiro registro.</div>`\n          }\n          <div class=\"api-box\">\n            <div class=\"lbl\">Acesso via API</div>\n            <div class=\"desc\">Os mesmos dados deste painel estao disponiveis publicamente via API REST, para integracao com outros sistemas.</div>\n            <code>curl -X POST ${SEARCH_URL} \\\\\n  -H \"Content-Type: application/json\" \\\\\n  -d '{\"q\": \"NAT-\"}'</code>\n          </div>\n        </div>\n      </div>\n    `;\n  },\n  mounted(d2, root) {\n    async function doSearch(q) {\n      d2.setState({ loading: true, query: q });\n      try {\n        const res = await d2.rush('cubbo-picking-search').invoke({ q: q || '' });\n        const data = (res && res.data && res.data.data) || [];\n        d2.setState({ loading: false, rows: data });\n      } catch (e) {\n        d2.setState({ loading: false, rows: [] });\n      }\n    }\n\n    d2.on('.js-search-btn', 'click', () => {\n      const el = d2.$('.js-search-input');\n      doSearch(el ? el.value : '');\n    });\n    d2.on('.js-search-input', 'keydown', (e) => { if (e.key === 'Enter') d2.$('.js-search-btn').click(); });\n\n    d2.on('.js-gate-submit', 'click', () => {\n      const val = d2.$('.js-gate-input') ? d2.$('.js-gate-input').value : '';\n      if (val === GATE_PASSWORD) {\n        sessionStorage.setItem('cubboGateOk', '1');\n        d2.setState({ unlocked: true, gateError: '' });\n        doSearch('');\n      } else {\n        d2.setState({ gateError: 'Senha incorreta.' });\n      }\n    });\n    d2.on('.js-gate-input', 'keydown', (e) => { if (e.key === 'Enter') d2.$('.js-gate-submit').click(); });\n\n    if (sessionStorage.getItem('cubboGateOk') === '1') {\n      d2.setState({ unlocked: true });\n      doSearch('');\n    }\n  },\n};\n"}}}}}},"__d2PrevCode":{"code":"const GATE_PASSWORD = 'democubodata2';\nconst SEARCH_URL = 'https://cubbo-app.data2apis.com/rush/cubbo-orders-search';\n\nconst LOGO_SVG = (color, h) => `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 91 32\" height=\"${h}\" style=\"color:${color}\"><path d=\"M56.6655 8.91406C57.5045 8.91406 58.2671 8.91406 59.106 8.91406C59.106 8.99025 59.106 9.14263 59.106 9.21882C59.106 10.6664 59.106 12.1141 59.106 13.6379C59.106 13.7141 59.106 13.7903 59.106 13.9426C59.1823 13.8664 59.2586 13.8664 59.2586 13.7903C59.945 13.0283 60.8601 12.6474 61.8516 12.5712C62.6905 12.495 63.5294 12.6474 64.2921 13.0283C65.5124 13.7141 66.4275 14.7807 66.8089 16.1522C67.1902 17.5998 67.1139 18.9712 66.3513 20.2664C65.7412 21.3331 64.9022 22.1712 63.682 22.5522C62.7668 22.8569 61.8516 22.8569 60.9364 22.5522C60.3263 22.3998 59.7924 22.0188 59.3348 21.5617C59.2586 21.4855 59.2586 21.4093 59.106 21.3331C59.0298 21.7141 59.106 22.095 59.106 22.476C58.2671 22.476 57.5045 22.476 56.6655 22.476C56.6655 18.0569 56.6655 13.4855 56.6655 8.91406ZM61.9279 20.495C62.6905 20.495 63.4532 20.1903 63.987 19.4283C64.3684 18.895 64.5209 18.2093 64.5209 17.5236C64.5209 16.9141 64.2921 16.3807 63.9108 15.9236C63.3007 15.1617 62.4617 14.8569 61.5465 15.0093C60.4788 15.0855 59.5636 15.8474 59.2586 16.9141C59.1823 17.295 59.106 17.676 59.1823 18.1331C59.3348 19.5045 60.4025 20.495 61.9279 20.495Z\" fill=\"currentColor\"/><path d=\"M68.8682 8.91406C69.6308 8.91406 70.4697 8.91406 71.3087 8.91406C71.3087 9.14263 71.3087 9.4474 71.3087 9.75216C71.3087 10.0569 71.3087 10.2855 71.3087 10.5903C71.3087 10.895 71.3087 11.1236 71.3087 11.4283C71.3087 11.7331 71.3087 11.9617 71.3087 12.2664C71.3087 12.5712 71.3087 12.7998 71.3087 13.1045C71.3087 13.4093 71.3087 13.6379 71.3087 13.9426C71.3849 13.8664 71.4612 13.7903 71.4612 13.7903C72.1476 13.0283 72.9865 12.6474 74.0542 12.5712C74.8932 12.495 75.7321 12.6474 76.4947 13.0283C77.9438 13.7903 78.7827 15.0093 79.0878 16.6855C79.3166 17.7522 79.2403 18.895 78.7827 19.8855C78.2489 21.1045 77.4099 22.0188 76.1134 22.5522C74.8932 23.0093 73.6729 23.0093 72.5289 22.3998C72.1476 22.2474 71.8425 21.9426 71.5375 21.6379C71.4612 21.5617 71.4612 21.5617 71.3087 21.4093C71.3087 21.7903 71.3087 22.1712 71.3087 22.476C71.0799 22.5522 69.3258 22.5522 68.8682 22.476C68.8682 22.3998 68.8682 9.21882 68.8682 8.91406ZM76.7235 17.676C76.7235 16.9903 76.4947 16.3045 75.9609 15.7712C75.427 15.2379 74.7406 14.9331 73.978 15.0093C73.2916 15.0093 72.6815 15.2379 72.1476 15.695C71.1561 16.6093 71.0799 18.2093 71.6137 19.1998C72.0713 20.0379 72.834 20.495 73.8254 20.5712C74.5118 20.6474 75.1982 20.4188 75.7321 19.9617C76.4185 19.3522 76.7235 18.5903 76.7235 17.676Z\" fill=\"currentColor\"/><path d=\"M43.7765 11.8858C43.0139 12.3429 42.2512 12.8001 41.4885 13.181C41.4885 13.1048 41.4123 13.1048 41.4123 13.1048C40.8021 12.1144 39.9632 11.581 38.8955 11.3525C37.904 11.1239 36.9126 11.2001 35.9974 11.6572C34.9297 12.1905 34.167 13.0286 33.7857 14.1715C33.4806 15.2382 33.4044 16.3048 33.7857 17.3715C34.3195 19.0477 35.5398 19.962 37.2939 20.1905C38.1328 20.2667 38.9718 20.1905 39.7344 19.8858C40.4208 19.581 41.0309 19.1239 41.4123 18.4382C41.4123 18.362 41.4885 18.362 41.4885 18.2858C42.2512 18.7429 43.0139 19.1239 43.7765 19.581C43.7002 19.6572 43.7002 19.7334 43.624 19.8096C42.7851 21.1048 41.5648 22.0191 40.0395 22.4763C38.0566 23.0858 36.1499 22.9334 34.3958 21.9429C32.4892 20.8763 31.3452 19.2001 30.9639 16.9905C30.7351 15.6191 30.8113 14.2477 31.4214 12.9525C32.4129 10.6667 34.0908 9.29531 36.5313 8.76198C38.0566 8.45721 39.5819 8.60959 40.9547 9.29531C42.0224 9.82864 42.9376 10.5905 43.624 11.581C43.624 11.6572 43.7002 11.7334 43.7765 11.8858Z\" fill=\"currentColor\"/><path d=\"M90.7561 17.7523C90.7561 20.6475 88.4682 22.9332 85.5701 22.857C82.7482 22.857 80.4603 20.4951 80.5365 17.5999C80.5365 14.7808 82.9008 12.4951 85.7226 12.4951C88.3919 12.5713 90.7561 14.857 90.7561 17.7523ZM88.2394 17.7523C88.2394 17.1427 88.0868 16.6094 87.7818 16.1523C87.1716 15.3142 86.409 15.0094 85.4175 15.0094C84.5023 15.0856 83.8159 15.4665 83.2821 16.3046C82.977 16.838 82.9008 17.4475 82.977 18.057C83.2058 20.1904 85.4175 21.0285 86.9428 20.1142C87.858 19.5808 88.2394 18.7427 88.2394 17.7523Z\" fill=\"currentColor\"/><path d=\"M47.8186 12.876C47.8186 13.0284 47.8186 13.1046 47.8186 13.1808C47.8186 14.9332 47.8186 16.6855 47.8186 18.3617C47.8186 18.5903 47.8186 18.8951 47.8949 19.1236C48.0474 19.9617 48.6575 20.4951 49.5727 20.4951C49.8778 20.4951 50.1829 20.4951 50.4117 20.4189C51.1743 20.2665 51.6319 19.7332 51.7844 18.9713C51.8607 18.6665 51.8607 18.2855 51.8607 17.9808C51.8607 16.3808 51.8607 14.7808 51.8607 13.1046C51.8607 13.0284 51.8607 12.876 51.8607 12.7998C52.0132 12.7236 53.9199 12.7236 54.3012 12.7998C54.3775 12.9522 54.3775 22.1713 54.3012 22.476C54.1487 22.5522 52.1658 22.5522 51.8607 22.476C51.8607 22.1713 51.8607 21.7903 51.8607 21.4093C51.7844 21.4855 51.7082 21.5617 51.7082 21.5617C51.1743 22.2474 50.4879 22.5522 49.5727 22.7046C48.9626 22.7808 48.3525 22.7808 47.7424 22.5522C46.5221 22.1713 45.7594 21.257 45.3781 20.0379C45.3019 19.657 45.2256 19.1998 45.2256 18.8189C45.2256 16.8379 45.2256 14.9332 45.2256 12.9522C45.2256 12.876 45.2256 12.7998 45.2256 12.7236C46.1408 12.876 46.9797 12.876 47.8186 12.876Z\" fill=\"currentColor\"/><path d=\"M12.8892 21.2572V31.5429L25.3968 26.0572V15.8477L12.8892 21.2572Z\" fill=\"currentColor\"/><path d=\"M12.2788 0.0761719L0 5.4857V15.7714L12.2788 10.2857V0.0761719Z\" fill=\"currentColor\"/><path d=\"M12.8892 0V10.2857L20.5157 13.4095V3.27619L12.8892 0Z\" fill=\"currentColor\"/><path d=\"M12.2788 21.2572L0 15.8477V26.1334L12.2788 31.6191V21.2572Z\" fill=\"currentColor\"/></svg>`;\n\nfunction esc(s) {\n  return String(s == null ? '' : s).replace(/[&<>\"']/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]));\n}\nfunction fmtDateTime(iso) {\n  try { return new Date(iso).toLocaleString('pt-BR'); } catch (e) { return iso || ''; }\n}\nconst STATUS_COLOR = {\n  'Aguardando picking': '#92600B',\n  'Separado e embalado': '#1D4ED8',\n};\n\nexport default {\n  css: `\n    :host { display:block; height:100%; width:100%; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,sans-serif; }\n    .app { height:100%; width:100%; background:#F4F5FA; display:flex; flex-direction:column; }\n    .topbar { background:#0B1120; color:#fff; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }\n    .topbar-left { display:flex; align-items:center; gap:14px; }\n    .topbar-title { font-size:14px; font-weight:600; color:#C7CBE0; letter-spacing:.02em; border-left:1px solid #2A2F45; padding-left:14px; }\n    .gate-wrap { flex:1; display:flex; align-items:center; justify-content:center; padding:24px; }\n    .gate-card { background:#fff; border:1px solid #E4E6F0; border-radius:16px; padding:40px; width:100%; max-width:380px; text-align:center; }\n    .logo-chip { display:inline-flex; align-items:center; justify-content:center; background:#0B1120; border-radius:10px; padding:10px 16px; }\n    .gate-card input { width:100%; box-sizing:border-box; padding:12px 14px; border-radius:10px; border:1px solid #D6D9EA; font-size:15px; margin-top:18px; text-align:center; letter-spacing:.05em; }\n    .gate-card input:focus { outline:none; border-color:#4338CA; }\n    .btn { background:#4338CA; color:#fff; border:none; border-radius:10px; padding:11px 18px; font-size:14px; font-weight:600; cursor:pointer; }\n    .btn:hover { background:#3730A3; }\n    .gate-error { color:#DC2626; font-size:13px; margin-top:10px; min-height:16px; }\n    .content { flex:1; overflow-y:auto; padding:28px 32px; }\n    .search-row { display:flex; gap:10px; margin-bottom:18px; max-width:520px; }\n    .search-row input { flex:1; box-sizing:border-box; padding:11px 14px; border-radius:10px; border:1px solid #D6D9EA; font-size:14px; }\n    .search-row input:focus { outline:none; border-color:#4338CA; }\n    table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; border:1px solid #E4E6F0; }\n    th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:#8B8FA8; background:#F8F8FC; padding:11px 14px; border-bottom:1px solid #E4E6F0; }\n    td { padding:12px 14px; font-size:13px; color:#1F2233; border-bottom:1px solid #F0F1F6; vertical-align:top; }\n    tr:last-child td { border-bottom:none; }\n    .mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:#4338CA; }\n    .pill { display:inline-block; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:#EEF0FE; color:#4338CA; }\n    .empty { text-align:center; padding:60px 0; color:#8B8FA8; font-size:13px; }\n    .api-box { margin-top:28px; background:#0B1120; border-radius:14px; padding:20px 24px; }\n    .api-box .lbl { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#818CF8; font-weight:700; }\n    .api-box .desc { font-size:12.5px; color:#9CA3D4; margin:6px 0 12px; }\n    .api-box code { display:block; background:#161B2E; color:#D7DAF0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; padding:12px 14px; border-radius:8px; white-space:pre-wrap; word-break:break-all; }\n  `,\n  render(d2) {\n    const s = d2.state;\n    if (!s.unlocked) {\n      return `\n        <div class=\"app\">\n          <div class=\"gate-wrap\">\n            <div class=\"gate-card\">\n              <div class=\"logo-chip\">${LOGO_SVG('#fff', 26)}</div>\n              <div style=\"margin-top:14px;font-size:14px;color:#5B5F78;\">Painel Operacional &mdash; acesso restrito</div>\n              <input class=\"js-gate-input\" type=\"password\" placeholder=\"Senha de acesso\" />\n              <div class=\"gate-error\">${esc(s.gateError || '')}</div>\n              <div style=\"margin-top:6px;\"><button class=\"btn js-gate-submit\" style=\"width:100%;\">Entrar</button></div>\n            </div>\n          </div>\n        </div>`;\n    }\n\n    const rows = s.rows || [];\n    const rowsHtml = rows.length ? rows.map((o) => `\n      <tr data-key=\"${esc(o._id)}\">\n        <td class=\"mono\">${esc(o.orderCode)}</td>\n        <td>${esc(o.customerName)}<br/><span class=\"mono\" style=\"color:#8B8FA8;\">${esc(o.customerCode)}</span></td>\n        <td>${esc(o.city)}/${esc(o.state)}</td>\n        <td><span class=\"pill\" style=\"background:#F1F1FA;color:${STATUS_COLOR[o.status] || '#5B5F78'};\">${esc(o.status || '—')}</span></td>\n        <td>${o.declaredWeightKg != null ? o.declaredWeightKg.toFixed(2) + ' kg' : '—'}</td>\n        <td>${o.itemsCount != null ? o.itemsCount : '—'}</td>\n        <td class=\"mono\">${esc(o.boxCode)}</td>\n        <td>${fmtDateTime(o.createdAt)}</td>\n      </tr>`).join('') : '';\n\n    return `\n      <div class=\"app\">\n        <div class=\"topbar\">\n          <div class=\"topbar-left\">\n            ${LOGO_SVG('#fff', 22)}\n            <div class=\"topbar-title\">Painel Operacional</div>\n          </div>\n        </div>\n        <div class=\"content\">\n          <div class=\"search-row\">\n            <input class=\"js-search-input\" type=\"text\" placeholder=\"Buscar por pedido, cliente ou caixa...\" value=\"${esc(s.query || '')}\" />\n            <button class=\"btn js-search-btn\">Buscar</button>\n          </div>\n          ${\n            s.loading ? '<div class=\"empty\">Carregando...</div>' :\n            rows.length ? `\n            <table>\n              <thead><tr>\n                <th>Pedido</th><th>Cliente</th><th>Cidade/UF</th><th>Status</th><th>Peso</th><th>Itens</th><th>Caixa</th><th>Criado em</th>\n              </tr></thead>\n              <tbody>${rowsHtml}</tbody>\n            </table>` :\n            `<div class=\"empty\">Nenhum pedido encontrado. Escaneie uma caixa na Estação de Picking para gerar o primeiro registro.</div>`\n          }\n          <div class=\"api-box\">\n            <div class=\"lbl\">Acesso via API</div>\n            <div class=\"desc\">Os mesmos dados deste painel estao disponiveis publicamente via API REST, para integracao com outros sistemas.</div>\n            <code>curl -X POST ${SEARCH_URL} \\\\\n  -H \"Content-Type: application/json\" \\\\\n  -d '{\"q\": \"NAT-\"}'</code>\n          </div>\n        </div>\n      </div>\n    `;\n  },\n  mounted(d2, root) {\n    async function doSearch(q) {\n      d2.setState({ loading: true, query: q });\n      try {\n        const res = await d2.rush('cubbo-orders-search').invoke({ q: q || '' });\n        const data = (res && res.data && res.data.data) || [];\n        d2.setState({ loading: false, rows: data });\n      } catch (e) {\n        d2.setState({ loading: false, rows: [] });\n      }\n    }\n\n    d2.on('.js-search-btn', 'click', () => {\n      const el = d2.$('.js-search-input');\n      doSearch(el ? el.value : '');\n    });\n    d2.on('.js-search-input', 'keydown', (e) => { if (e.key === 'Enter') d2.$('.js-search-btn').click(); });\n\n    d2.on('.js-gate-submit', 'click', () => {\n      const val = d2.$('.js-gate-input') ? d2.$('.js-gate-input').value : '';\n      if (val === GATE_PASSWORD) {\n        sessionStorage.setItem('cubboGateOk', '1');\n        d2.setState({ unlocked: true, gateError: '' });\n        doSearch('');\n      } else {\n        d2.setState({ gateError: 'Senha incorreta.' });\n      }\n    });\n    d2.on('.js-gate-input', 'keydown', (e) => { if (e.key === 'Enter') d2.$('.js-gate-submit').click(); });\n\n    if (sessionStorage.getItem('cubboGateOk') === '1') {\n      d2.setState({ unlocked: true });\n      doSearch('');\n    }\n  },\n};\n","at":"2026-08-27T15:00:47.800Z"}}}]}},{"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":"6a90101952abf2e812e25b1f","component":"data2-core-primitives@Artboard","system":"6a7ca6cb11f8a5ec77c18b42","displayName":"📊 Cubbo Picking — Painel Operacional","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"📊 Cubbo Picking — Painel Operacional"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1440,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}}},"reference":"pRGAvOAV_UCNruFFbrMcA","deleteMetadata":{}},{"_id":"ba0ef1f746ef4a4292c71f7d","parent":"6a90101952abf2e812e25b1f","component":"cubbo-app@cubbo-ops-panel","system":"6a7ca6cb11f8a5ec77c18b42","displayName":"Ops Panel","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":1440,"height":900}}}},"reference":"xuUPfVdG3e0Ne7OjWHe9x","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":"6a901029266a8719ecfc9e26","displayName":"Cubbo Picking — Painel Operacional","reference":"K3lhIKX8xAcniOUmFncQj","params":{"domain":{"component":"data2-core-primitives@String","params":{"content":"painel"}},"entryPoint":{"component":"data2-core-types@ComponentInstanceReference","params":{"component":"data2-core-primitives@Artboard","reference":"pRGAvOAV_UCNruFFbrMcA"}}},"system":"6a7ca6cb11f8a5ec77c18b42","component":"data2-core-primitives@Application"}]}},{"reference":"DataComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"BundlesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}}],"processesParams":{}}}}