@fayz-ai/core 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- export { PluginRuntimeProvider, definePlugin, getWidgetsForZone, resolvePluginRuntime, usePluginRuntime, usePluginRuntimeOptional } from '../chunk-UMIZDILP.js';
1
+ export { PluginRuntimeProvider, definePlugin, getWidgetsForZone, resolvePluginRuntime, usePluginRuntime, usePluginRuntimeOptional } from '../chunk-AOIYRUTF.js';
2
2
  import '../chunk-EWKX4VUM.js';
3
3
  import '../chunk-CU64QI4A.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/plugin/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,EAKpB,gBAAgB,EAEhB,oBAAoB,EACpB,mBAAmB,EAMnB,uBAAuB,EACvB,gBAAgB,EAEjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAI/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAI1D;8DAC8D;AAC9D,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;+EAC+E;AAC/E,wBAAgB,sBAAsB,CACpC,GAAG,EAAE;IAAE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAI1C;AAED,UAAU,2BAA2B;IACnC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,OAAO,EAAE,oBAAoB,CAAA;CAC9B;AA2ED,wBAAgB,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEnE;AAED,wBAAgB,oBAAoB,CAAC,EACnC,OAAY,EACZ,aAAkB,EAClB,iBAAiB,EACjB,OAAO,GACR,EAAE,2BAA2B,GAAG,aAAa,CAoN7C;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC/C,oBAAoB,EAAE,CAGxB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAC5C,GACL,qBAAqB,EAAE,CAezB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAAE,GACxG,uBAAuB,EAAE,CAU3B;AAED,QAAA,MAAM,oBAAoB,qCAAkD,CAAA;AAC5E,eAAO,MAAM,qBAAqB,sCAAgC,CAAA;AAElE,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,wBAAgB,wBAAwB,IAAI,aAAa,GAAG,IAAI,CAE/D;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAElF"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/plugin/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,EAKpB,gBAAgB,EAEhB,oBAAoB,EACpB,mBAAmB,EAMnB,uBAAuB,EACvB,gBAAgB,EAEjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAK/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAI1D;8DAC8D;AAC9D,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;+EAC+E;AAC/E,wBAAgB,sBAAsB,CACpC,GAAG,EAAE;IAAE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAI1C;AAED,UAAU,2BAA2B;IACnC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,OAAO,EAAE,oBAAoB,CAAA;CAC9B;AA4ED,wBAAgB,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEnE;AAED,wBAAgB,oBAAoB,CAAC,EACnC,OAAY,EACZ,aAAkB,EAClB,iBAAiB,EACjB,OAAO,GACR,EAAE,2BAA2B,GAAG,aAAa,CAkO7C;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC/C,oBAAoB,EAAE,CAGxB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAC5C,GACL,qBAAqB,EAAE,CAezB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAAE,GACxG,uBAAuB,EAAE,CAU3B;AAED,QAAA,MAAM,oBAAoB,qCAAkD,CAAA;AAC5E,eAAO,MAAM,qBAAqB,sCAAgC,CAAA;AAElE,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,wBAAgB,wBAAwB,IAAI,aAAa,GAAG,IAAI,CAE/D;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAElF"}
@@ -309,6 +309,14 @@ var shellTranslationsPtBr = {
309
309
  "upgrade.feature.assistant": "Assistente de IA",
310
310
  "billing.unlimited": "Ilimitado",
311
311
  "billing.upTo": "At\xE9 {count}",
312
+ "banner.overLimit": "Voc\xEA excedeu o limite de {label} do seu plano \u2014 fa\xE7a upgrade para continuar crescendo.",
313
+ "banner.overLimit.title": "Voc\xEA usou todos os seus {resource}",
314
+ "banner.overLimit.planLabel": "Plano {plan}",
315
+ "banner.overLimit.unlock": "Nada foi bloqueado. O {plan} tira esse teto do seu caminho.",
316
+ "banner.overLimit.body": "Nada foi bloqueado \u2014 mas esse \xE9 o teto do seu plano.",
317
+ "banner.overLimit.ctaPriced": "Assinar {plan} \u2014 {price}/m\xEAs",
318
+ "banner.overLimit.compare": "Comparar planos",
319
+ "banner.overLimit.more": "+{count} outro(s) limite(s) no teto.",
312
320
  "limit.label.clients": "clientes",
313
321
  "limit.label.users": "membros da equipe",
314
322
  "limit.label.locations": "locais",
@@ -1056,5 +1064,5 @@ var shellTranslationsPtBr = {
1056
1064
  };
1057
1065
 
1058
1066
  export { shellTranslationsPtBr };
1059
- //# sourceMappingURL=shell-translations.pt-br-HD4F3QKU.js.map
1060
- //# sourceMappingURL=shell-translations.pt-br-HD4F3QKU.js.map
1067
+ //# sourceMappingURL=shell-translations.pt-br-ZSSVWG6H.js.map
1068
+ //# sourceMappingURL=shell-translations.pt-br-ZSSVWG6H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/i18n/shell-translations.pt-br.ts"],"names":[],"mappings":"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","file":"shell-translations.pt-br-ZSSVWG6H.js","sourcesContent":["// Shared shell/CRUD/framework translations — pt-BR locale.\n// Split per-locale so only the active locale ships in the bundle: 'en' is the\n// eager fallback; other locales load via dynamic import in i18n/index.ts.\nexport const shellTranslationsPtBr: Record<string, string> = {\n \"common.save\": \"Salvar\",\n \"common.saveChanges\": \"Salvar Alterações\",\n \"common.saving\": \"Salvando...\",\n \"common.cancel\": \"Cancelar\",\n \"common.delete\": \"Excluir\",\n \"common.edit\": \"Editar\",\n \"common.you\": \"Você\",\n \"common.close\": \"Fechar\",\n \"common.confirm\": \"Confirmar\",\n \"common.back\": \"Voltar\",\n \"common.add\": \"Adicionar\",\n \"common.loading\": \"Carregando...\",\n \"common.error\": \"Algo deu errado\",\n \"common.noResults\": \"Nenhum resultado encontrado.\",\n \"common.search\": \"Buscar\",\n \"common.new\": \"Novo\",\n \"common.settings\": \"Configurações\",\n \"common.actionsMenu\": \"Mais ações\",\n \"common.actions\": \"Ações\",\n \"common.continue\": \"Continuar\",\n \"common.done\": \"Pronto\",\n \"common.yes\": \"Sim\",\n \"common.no\": \"Não\",\n \"common.active\": \"Ativo\",\n \"common.inactive\": \"Inativo\",\n \"common.overview\": \"Visão Geral\",\n \"common.notFound\": \"Não Encontrado\",\n \"common.untitled\": \"Sem título\",\n \"common.noContentYet\": \"Nenhum conteúdo ainda\",\n \"common.selectDate\": \"Selecionar data\",\n \"common.plugins\": \"Plugins\",\n \"auth.login.title\": \"Entrar\",\n \"auth.login.titleCentered\": \"Bem-vindo de Volta\",\n \"auth.login.subtitle\": \"Insira suas credenciais para acessar sua conta\",\n \"auth.login.emailLabel\": \"E-mail\",\n \"auth.login.emailPlaceholder\": \"voce@exemplo.com\",\n \"auth.login.passwordLabel\": \"Senha\",\n \"auth.login.passwordPlaceholder\": \"Digite sua senha\",\n \"auth.login.forgotPassword\": \"Esqueceu a senha?\",\n \"auth.login.submit\": \"Entrar\",\n \"auth.login.submitting\": \"Entrando...\",\n \"auth.login.error\": \"Falha ao entrar. Tente novamente.\",\n \"auth.login.oauthDivider\": \"ou continue com\",\n \"auth.login.noAccount\": \"Não tem uma conta?\",\n \"auth.login.noAccountCentered\": \"Ainda não tem uma conta?\",\n \"auth.login.signUpLink\": \"Cadastre-se\",\n \"auth.login.socialProof\": \"Junte-se a milhares de empresas que já usam {{appName}}\",\n \"auth.signup.title\": \"Criar conta\",\n \"auth.signup.titleCentered\": \"Criar Conta\",\n \"auth.signup.subtitle\": \"Comece com sua nova conta\",\n \"auth.signup.nameLabel\": \"Nome completo\",\n \"auth.signup.namePlaceholder\": \"João Silva\",\n \"auth.signup.emailLabel\": \"E-mail\",\n \"auth.signup.emailPlaceholder\": \"voce@exemplo.com\",\n \"auth.signup.passwordLabel\": \"Senha\",\n \"auth.signup.passwordPlaceholder\": \"Pelo menos 8 caracteres\",\n \"auth.signup.confirmPasswordLabel\": \"Confirmar senha\",\n \"auth.signup.confirmPasswordPlaceholder\": \"Repita sua senha\",\n \"auth.signup.termsPrefix\": \"Ao criar uma conta, você concorda com nossos\",\n \"auth.signup.termsOfService\": \"Termos de Serviço\",\n \"auth.signup.privacyPolicy\": \"Política de Privacidade\",\n \"auth.signup.submit\": \"Criar conta\",\n \"auth.signup.submitting\": \"Criando conta...\",\n \"auth.signup.error\": \"Falha ao criar conta. Tente novamente.\",\n \"auth.signup.passwordMismatch\": \"As senhas não conferem.\",\n \"auth.signup.passwordTooShort\": \"A senha deve ter pelo menos 8 caracteres.\",\n \"auth.signup.success\": \"Conta criada para {{email}}. Verifique sua caixa de entrada para confirmar seu e-mail.\",\n \"auth.signup.hasAccount\": \"Já tem uma conta?\",\n \"auth.signup.signInLink\": \"Entrar\",\n \"auth.recovery.title\": \"Redefinir senha\",\n \"auth.recovery.titleCentered\": \"Redefinir Senha\",\n \"auth.recovery.instruction\": \"Insira seu e-mail e enviaremos um link para redefinir sua senha.\",\n \"auth.recovery.subtitle\": \"Enviaremos um link de redefinição\",\n \"auth.recovery.emailLabel\": \"E-mail\",\n \"auth.recovery.emailPlaceholder\": \"voce@exemplo.com\",\n \"auth.recovery.submit\": \"Enviar link\",\n \"auth.recovery.submitting\": \"Enviando...\",\n \"auth.recovery.error\": \"Falha ao enviar e-mail. Tente novamente.\",\n \"auth.recovery.successHeading\": \"Verifique seu e-mail\",\n \"auth.recovery.successMessage\": \"Enviamos um link de redefinição para {{email}}. Verifique sua caixa de entrada e siga as instruções.\",\n \"auth.recovery.backToLogin\": \"Voltar ao login\",\n \"auth.oauth.continueWith\": \"Continuar com {{provider}}\",\n \"auth.signIn\": \"Entrar\",\n \"auth.signUp\": \"Cadastrar\",\n \"auth.signOut\": \"Sair\",\n \"auth.email\": \"E-mail\",\n \"auth.password\": \"Senha\",\n \"auth.forgotPassword\": \"Esqueceu a Senha?\",\n \"crud.list.emptyGeneric\": \"Nenhum registro ainda\",\n \"crud.list.empty\": \"Nenhum(a) {{entities}} ainda\",\n \"crud.list.addFirst\": \"Adicione seu(sua) primeiro(a) {{entity}}\",\n \"crud.list.totalCount\": \"{{count}} {{entities}} no total\",\n \"crud.list.searchPlaceholder\": \"Buscar {{entities}}...\",\n \"crud.list.allFacet\": \"Todos\",\n \"crud.list.addButton\": \"+ Adicionar {{entity}}\",\n \"crud.list.rangeCount\": \"{{from}}–{{to}} de {{total}} {{entities}}\",\n \"crud.list.pageOf\": \"{{page}} / {{pages}}\",\n \"crud.list.prevPage\": \"Página anterior\",\n \"crud.list.nextPage\": \"Próxima página\",\n \"crud.list.emptyFilteredGeneric\": \"Nenhum resultado para esta busca\",\n \"crud.list.emptyFiltered\": \"Nenhum resultado em {{entities}} para esta busca\",\n \"crud.list.emptyHintGeneric\": \"O que você cadastrar aparece aqui.\",\n \"crud.list.emptyHint\": \"Os seus {{entities}} aparecem aqui depois de cadastrados.\",\n \"crud.list.loadFailedGeneric\": \"Não foi possível carregar\",\n \"crud.list.loadFailed\": \"Não foi possível carregar os {{entities}}\",\n \"crud.list.refresh\": \"Atualizar\",\n \"crud.list.refreshCached\": \"Dados locais (cache) — clique para atualizar da rede\",\n \"crud.list.sort\": \"Ordenar\",\n \"crud.list.sortBy\": \"Ordenar por\",\n \"crud.list.sortAsc\": \"Crescente\",\n \"crud.list.sortDesc\": \"Decrescente\",\n \"crud.list.sortCreatedAt\": \"Criado em\",\n \"crud.list.sortUpdatedAt\": \"Última edição\",\n \"crud.list.selectRow\": \"Selecionar linha\",\n \"crud.list.selectAllRows\": \"Selecionar todas as linhas\",\n \"crud.list.selectedOne\": \"1 selecionado\",\n \"crud.list.selectedMany\": \"{{count}} selecionados\",\n \"crud.list.selectAllCount\": \"Selecionar todos os {{total}}\",\n \"crud.list.deselectAll\": \"Limpar seleção\",\n \"crud.list.bulkActions\": \"Ações para a seleção\",\n \"crud.list.moreActions\": \"Mais ações\",\n \"crud.list.bulkDelete\": \"Excluir\",\n \"crud.list.bulkDeleteTitle\": \"Excluir {{count}} {{entities}}?\",\n \"crud.list.bulkDeleteConfirm\": \"Os {{count}} registros selecionados serão excluídos. Esta ação não pode ser desfeita.\",\n \"crud.list.bulkDeleteDone\": \"{{count}} excluídos\",\n \"crud.list.bulkDeleteFailed\": \"{{count}} não puderam ser excluídos\",\n \"crud.detail.notFound\": \"{{entity}} não encontrado(a).\",\n \"crud.detail.backTo\": \"Voltar para {{entities}}\",\n \"crud.detail.createdAt\": \"Criado em {{date}}\",\n \"crud.detail.createdBy\": \"por {{user}}\",\n \"crud.detail.updatedAt\": \"Última edição {{date}}\",\n \"crud.form.addTitle\": \"Adicionar {{entity}}\",\n \"crud.form.requiredField\": \"Preencha {{field}}\",\n \"crud.form.requiredFields\": \"Preencha: {{fields}}\",\n \"crud.form.editTitle\": \"Editar {{entity}}\",\n \"crud.form.createSubtitle\": \"Criar um(a) novo(a) {{entity}}.\",\n \"crud.form.editSubtitle\": \"Atualizar detalhes de {{entity}}.\",\n \"crud.form.newBreadcrumb\": \"Novo(a) {{entity}}\",\n \"crud.form.selectPlaceholder\": \"Selecione {{label}}...\",\n \"crud.form.saveError\": \"Falha ao salvar {{entity}}\",\n \"crud.form.saving\": \"Salvando...\",\n \"crud.form.changeImage\": \"Trocar imagem\",\n \"crud.form.imageAfterSave\": \"Foto depois de salvar\",\n \"crud.delete.title\": \"Excluir {{entity}}?\",\n \"crud.delete.confirmNamed\": \"Tem certeza que deseja excluir \\\"{{displayValue}}\\\"? Esta ação não pode ser desfeita.\",\n \"crud.delete.confirmGeneric\": \"Tem certeza que deseja excluir este(a) {{entity}}? Esta ação não pode ser desfeita.\",\n \"crud.delete.cancel\": \"Cancelar\",\n \"crud.delete.delete\": \"Excluir\",\n \"crud.tabs.access\": \"Acesso\",\n \"crud.tabs.schedule\": \"Agenda\",\n \"crud.tabs.documents\": \"Documentos\",\n \"crud.tabs.financial\": \"Extrato\",\n \"crud.tabs.activity\": \"Atividade\",\n \"crud.tabs.inventory\": \"Estoque\",\n \"crud.tabs.suppliers\": \"Fornecedores\",\n \"crud.tabs.pricing\": \"Preços\",\n \"crud.tabs.members\": \"Equipe\",\n \"crud.tabs.stats\": \"Estatísticas\",\n \"crud.tabs.availability\": \"Disponibilidade\",\n \"crud.tabs.orders\": \"Pedidos\",\n \"crud.orders.all\": \"Todos\",\n \"crud.orders.columnDate\": \"Data\",\n \"crud.orders.columnStage\": \"Etapa\",\n \"crud.orders.columnDescription\": \"Descrição\",\n \"crud.orders.columnAmount\": \"Valor\",\n \"crud.orders.searchPlaceholder\": \"Buscar pedidos...\",\n \"crud.orders.noDocuments\": \"Nenhum pedido ainda\",\n \"crud.orders.stage.draft\": \"Rascunho\",\n \"crud.orders.stage.quoted\": \"Orçado\",\n \"crud.orders.stage.booked\": \"Agendado\",\n \"crud.orders.stage.invoiced\": \"Faturado\",\n \"crud.orders.stage.paid\": \"Pago\",\n \"crud.orders.stage.partial\": \"Parcial\",\n \"crud.orders.stage.overdue\": \"Vencido\",\n \"crud.orders.stage.cancelled\": \"Cancelado\",\n \"crud.orders.stage.no_show\": \"Não Compareceu\",\n \"crud.orders.stage.completed\": \"Concluído\",\n \"layout.userMenu.profile\": \"Perfil\",\n \"layout.userMenu.settings\": \"Configurações\",\n \"layout.userMenu.billing\": \"Faturamento\",\n \"layout.userMenu.help\": \"Ajuda\",\n \"layout.userMenu.lightMode\": \"Modo claro\",\n \"layout.userMenu.darkMode\": \"Modo escuro\",\n \"layout.userMenu.systemMode\": \"Sistema\",\n \"layout.userMenu.language\": \"Idioma\",\n \"layout.userMenu.selectLocation\": \"Selecionar local\",\n \"layout.switchingLocation\": \"Trocando de local…\",\n \"layout.userMenu.signOut\": \"Sair\",\n \"layout.topbar.searchPlaceholder\": \"Buscar...\",\n \"layout.sidebar.collapse\": \"Recolher barra lateral\",\n \"layout.sidebar.expand\": \"Expandir barra lateral\",\n \"layout.commandPalette.placeholder\": \"Buscar páginas, pessoas, produtos, serviços...\",\n \"layout.commandPalette.resultsCount\": \"{{count}} resultado{{plural}}\",\n \"layout.commandPalette.noResults\": \"Nenhum resultado encontrado.\",\n \"layout.commandPalette.searching\": \"Buscando…\",\n \"layout.commandPalette.refreshCached\": \"Resultados do cache — buscar de novo\",\n \"layout.commandPalette.refresh\": \"Atualizar resultados\",\n \"billing.title\": \"Faturamento\",\n \"billing.subtitle\": \"Gerencie sua assinatura e faturamento.\",\n \"billing.currentPlan\": \"Plano Atual\",\n \"billing.subscription.title\": \"Assinatura\",\n \"billing.subscription.subtitle\": \"Gerencie seu plano e desbloqueie mais recursos.\",\n \"billing.changeToPlan\": \"Mudar para este plano\",\n \"billing.featureMatrix\": \"Comparativo de recursos\",\n \"billing.changePlanConfirmTitle\": \"Mudar de plano?\",\n \"billing.changePlanConfirmBody\": \"Você está mudando para o plano {{plan}}.\",\n \"billing.changePlanConfirm\": \"Mudar de plano\",\n \"billing.planChanged\": \"Agora você está no plano {{plan}}.\",\n \"billing.planChangeFailed\": \"Não foi possível mudar seu plano. Tente novamente.\",\n \"billing.noPlans\": \"Nenhum plano configurado.\",\n \"billing.pro\": \"Pro\",\n \"billing.upgrade\": \"Fazer Upgrade\",\n \"billing.downgrade\": \"Fazer Downgrade\",\n \"billing.monthly\": \"Mensal\",\n \"billing.yearly\": \"Anual\",\n \"billing.yearlySave\": \"Economize 20%\",\n \"billing.free\": \"Gratuito\",\n \"billing.cancelSubscription\": \"Cancelar Assinatura\",\n \"billing.canceling\": \"Cancelando...\",\n \"billing.resumeSubscription\": \"Retomar Assinatura\",\n \"billing.resuming\": \"Retomando...\",\n \"billing.features\": \"Recursos\",\n \"billing.perMonth\": \"/mês\",\n \"billing.perYear\": \"/ano\",\n \"billing.getStarted\": \"Começar\",\n \"billing.processing\": \"Processando...\",\n \"billing.mostPopular\": \"Mais Popular\",\n \"billing.nextBilling\": \"Próxima cobrança: {{date}}\",\n \"billing.cancelsOn\": \"Cancela em {{date}}\",\n \"billing.trialEnds\": \"Período de teste termina em {{date}}\",\n \"billing.pastDueWarning\": \"Seu pagamento está atrasado. Atualize seu método de pagamento para evitar interrupção do serviço.\",\n \"billing.status.active\": \"Ativo\",\n \"billing.status.trialing\": \"Período de Teste\",\n \"billing.status.pastDue\": \"Atrasado\",\n \"billing.status.canceled\": \"Cancelado\",\n \"billing.status.paused\": \"Pausado\",\n \"organization.invite\": \"Convidar\",\n \"organization.members\": \"Membros\",\n \"organization.memberCount\": \"{{count}} membro{{plural}} nesta organização.\",\n \"organization.role\": \"Função\",\n \"organization.emailPlaceholder\": \"equipe@exemplo.com\",\n \"organization.sendInvites\": \"Enviar Convites\",\n \"organization.sending\": \"Enviando...\",\n \"organization.pending\": \"Convites Pendentes\",\n \"organization.remove\": \"Remover membro\",\n \"organization.resend\": \"Reenviar\",\n \"organization.revoke\": \"Revogar\",\n \"organization.inviteTitle\": \"Convidar Membros da Equipe\",\n \"organization.inviteDescription\": \"Envie convites para entrar na sua organização.\",\n \"organization.inviteSent\": \"Convites enviados\",\n \"organization.inviteSentDescription\": \"Seus membros receberão um e-mail com instruções para entrar.\",\n \"organization.emailAddresses\": \"Endereços de e-mail\",\n \"organization.addAnother\": \"Adicionar outro\",\n \"organization.selectRole\": \"Selecione uma função\",\n \"organization.you\": \"(você)\",\n \"organization.joined\": \"Entrou\",\n \"organization.onboarding.title\": \"Configure seu espaço de trabalho\",\n \"organization.onboarding.namePrompt\": \"Como devemos chamar seu espaço de trabalho?\",\n \"organization.onboarding.preferencesPrompt\": \"Preferências regionais\",\n \"organization.onboarding.workspaceName\": \"Nome do espaço de trabalho\",\n \"organization.onboarding.workspaceNamePlaceholder\": \"Minha Empresa\",\n \"organization.onboarding.timezone\": \"Fuso horário\",\n \"organization.onboarding.currency\": \"Moeda\",\n \"organization.onboarding.creating\": \"Configurando seu espaço de trabalho\",\n \"organization.onboarding.creatingDescription\": \"Isso levará apenas um momento...\",\n \"organization.onboarding.createWorkspace\": \"Criar Espaço de Trabalho\",\n \"settings.title\": \"Configurações\",\n \"settings.subtitle\": \"Gerencie sua conta e preferências da organização.\",\n \"settings.backToHome\": \"Voltar para o início\",\n \"settings.navLinks\": \"Configurações\",\n \"settings.general\": \"Geral\",\n \"settings.properties\": \"Propriedades\",\n \"settings.profile\": \"Perfil\",\n \"settings.branding\": \"Marca\",\n \"settings.security\": \"Segurança\",\n \"settings.sites\": \"Sites\",\n \"settings.connectors\": \"Conectores\",\n \"settings.subscription\": \"Assinatura\",\n \"upgrade.title\": \"Recurso premium\",\n \"upgrade.description\": \"Este recurso está disponível em um plano superior. Faça upgrade para liberá-lo.\",\n \"upgrade.descriptionFeature\": \"O recurso {feature} está disponível em um plano superior. Faça upgrade para liberá-lo.\",\n \"contactPicker.search\": \"Buscar contato...\",\n \"contactPicker.newContact\": \"Novo contato\",\n \"contactPicker.name\": \"Nome\",\n \"contactPicker.phone\": \"Telefone\",\n \"contactPicker.emailOptional\": \"E-mail (opcional)\",\n \"contactPicker.create\": \"Cadastrar\",\n \"contactPicker.creating\": \"Cadastrando...\",\n \"contactPicker.cancel\": \"Cancelar\",\n \"contactPicker.clear\": \"Remover contato\",\n \"contactPicker.createFailed\": \"Não foi possível cadastrar o contato\",\n \"contactPicker.addField\": \"Adicionar {label}\",\n \"upgrade.includes\": \"Inclui {feature}\",\n \"upgrade.cta\": \"Ver planos\",\n \"upgrade.badgeTooltip\": \"Disponível em um plano superior\",\n \"upgrade.unlock\": \"Desbloqueie {feature}\",\n \"upgrade.currentPlan\": \"Seu plano: {plan}\",\n \"upgrade.recommended\": \"Recomendado\",\n \"upgrade.ctaUpgrade\": \"Fazer upgrade\",\n \"upgrade.ctaUpgradeTo\": \"Fazer upgrade para {plan}\",\n \"upgrade.compareAll\": \"Comparar todos os planos\",\n \"upgrade.valueGeneric\": \"Tudo o que você precisa para crescer — incluso nos planos abaixo.\",\n \"upgrade.value.marketing\": \"Campanhas, funil e conteúdo para crescer sua base de clientes.\",\n \"upgrade.value.reports\": \"Relatórios avançados e insights para decidir com mais precisão.\",\n \"upgrade.value.fin_reconciliation\": \"Concilie pagamentos e mantenha seu fluxo de caixa sob controle.\",\n \"upgrade.value.assistant\": \"Seu copiloto de operações — pergunte, analise e aja com IA.\",\n \"upgrade.feature.assistant\": \"Assistente de IA\",\n \"billing.unlimited\": \"Ilimitado\",\n \"billing.upTo\": \"Até {count}\",\n \"banner.overLimit\": \"Você excedeu o limite de {label} do seu plano — faça upgrade para continuar crescendo.\",\n \"banner.overLimit.title\": \"Você usou todos os seus {resource}\",\n \"banner.overLimit.planLabel\": \"Plano {plan}\",\n \"banner.overLimit.unlock\": \"Nada foi bloqueado. O {plan} tira esse teto do seu caminho.\",\n \"banner.overLimit.body\": \"Nada foi bloqueado — mas esse é o teto do seu plano.\",\n \"banner.overLimit.ctaPriced\": \"Assinar {plan} — {price}/mês\",\n \"banner.overLimit.compare\": \"Comparar planos\",\n \"banner.overLimit.more\": \"+{count} outro(s) limite(s) no teto.\",\n \"limit.label.clients\": \"clientes\",\n \"limit.label.users\": \"membros da equipe\",\n \"limit.label.locations\": \"locais\",\n \"limit.label.bookings_month\": \"agendamentos mensais\",\n \"limit.label.leads\": \"leads\",\n \"limit.label.quotes\": \"orçamentos\",\n \"limit.label.conversations_month\": \"conversas mensais\",\n \"limit.label.ai_credits_month\": \"créditos de IA por mês\",\n \"limit.label.recipes\": \"receitas\",\n \"limit.label.form_templates\": \"modelos de formulário\",\n \"limit.label.documents_month\": \"documentos mensais\",\n \"limit.label.content_posts_month\": \"posts de conteúdo mensais\",\n \"limit.label.blog_posts\": \"posts de blog\",\n \"limit.label.products\": \"produtos\",\n \"limit.label.students\": \"alunos\",\n \"limit.label.courses\": \"cursos\",\n \"limit.label.contacts\": \"contatos\",\n \"limit.label.deals\": \"negócios\",\n \"limit.label.menu_items\": \"itens do cardápio\",\n \"limit.label.orders_month\": \"pedidos mensais\",\n \"limit.label.connected_banks\": \"bancos conectados\",\n \"limit.label.movements_month\": \"movimentações mensais\",\n \"settings.team\": \"Equipe\",\n \"settings.permissions\": \"Permissões\",\n \"settings.locations\": \"Locais\",\n \"settings.holidays\": \"Feriados\",\n \"settings.fieldRules\": \"Regras de Campos\",\n \"settings.notifications\": \"Notificações\",\n \"settings.save\": \"Salvar Alterações\",\n \"settings.saving\": \"Salvando...\",\n \"settings.companyInfo\": \"Informações da Empresa\",\n \"settings.companyInfoDescription\": \"Atualize os dados da sua organização e preferências regionais.\",\n \"settings.companyName\": \"Nome da Empresa\",\n \"settings.companyNamePlaceholder\": \"Minha Empresa LTDA\",\n \"settings.timezone\": \"Fuso Horário\",\n \"settings.timezonePlaceholder\": \"Selecione o fuso horário\",\n \"settings.currency\": \"Moeda\",\n \"settings.currencyPlaceholder\": \"Selecione a moeda\",\n \"settings.locale\": \"Idioma\",\n \"settings.localePlaceholder\": \"Selecione o idioma\",\n \"settings.uploadLogo\": \"Enviar Logo\",\n \"settings.uiLanguage\": \"Idioma da Interface\",\n \"settings.uiLanguageDescription\": \"Escolha o idioma da interface. Aplica-se apenas à sua sessão.\",\n \"notifications.title\": \"Notificações\",\n \"notifications.markAllRead\": \"Marcar todas como lidas\",\n \"notifications.empty\": \"Sem notificações\",\n \"notifications.whatsNew\": \"Novidades\",\n \"notifications.inbox\": \"Caixa de Entrada\",\n \"app.notFound.title\": \"404\",\n \"app.notFound.heading\": \"Página não encontrada\",\n \"app.notFound.message\": \"A página que você procura não existe ou foi movida.\",\n \"app.notFound.goToDashboard\": \"Ir para o Painel\",\n \"app.accessDenied.heading\": \"Acesso Negado\",\n \"app.accessDenied.message\": \"Você não tem permissão para acessar esta página.\",\n \"shell.accessDenied.title\": \"Acesso restrito\",\n \"shell.accessDenied.message\": \"Você não tem permissão para acessar esta página.\",\n \"shell.error.title\": \"Não foi possível carregar esta tela\",\n \"shell.error.message\": \"Algo deu errado do nosso lado. O resto do sistema continua funcionando — você pode voltar e tentar de novo.\",\n \"shell.error.retry\": \"Tentar de novo\",\n \"shell.error.copy\": \"Copiar detalhes do erro\",\n \"shell.error.copied\": \"Copiado\",\n \"shell.error.reference\": \"Informe este código ao falar com o suporte\",\n \"organization.workspaces\": \"Áreas de trabalho\",\n \"organization.onlyWorkspace\": \"Esta é a sua única área de trabalho.\",\n \"crud.form.requiredIndicator\": \"*\",\n \"crud.form.createDescription\": \"Criar um(a) novo(a) {{entity}}.\",\n \"crud.form.editDescription\": \"Atualizar detalhes de {{entity}}.\",\n \"crud.form.failedToSave\": \"Falha ao salvar {{entity}}\",\n \"crud.form.saveChanges\": \"Salvar Alterações\",\n \"crud.form.showAllFields\": \"Preencher mais campos\",\n \"crud.form.showEssentialFields\": \"Mostrar só o essencial\",\n \"crud.form.select\": \"Selecione {{field}}...\",\n \"crud.list.records\": \"registros\",\n \"crud.list.addEntity\": \"Adicionar {{entity}}\",\n \"crud.list.aiHint\": \"Descreva e eu cadastro para você.\",\n \"crud.list.aiPlaceholder\": \"Descreva o que cadastrar…\",\n \"crud.list.newHint\": \"Preencher um cadastro à mão\",\n \"crud.list.searchGeneric\": \"Buscar...\",\n \"crud.list.search\": \"Buscar {{entities}}...\",\n \"crud.import.action\": \"Importar\",\n \"crud.import.hint\": \"Trazer vários de uma planilha CSV\",\n \"crud.import.title\": \"Importar {{entity}}\",\n \"crud.import.step.download\": \"Modelo\",\n \"crud.import.step.upload\": \"Upload\",\n \"crud.import.step.mapping\": \"Mapeamento\",\n \"crud.import.step.importing\": \"Importar\",\n \"crud.import.downloadTitle\": \"Baixe o modelo\",\n \"crud.import.downloadDescription\": \"Baixe um modelo CSV com todos os campos disponíveis para {{entity}}. Preencha e envie no próximo passo.\",\n \"crud.import.downloadTemplate\": \"Baixar modelo CSV\",\n \"crud.import.downloadHint\": \"{{count}} campos disponíveis\",\n \"crud.import.alreadyHaveFile\": \"Já tenho um arquivo\",\n \"crud.import.uploadTitle\": \"Arraste seu arquivo CSV aqui ou clique para buscar\",\n \"crud.import.uploadHint\": \"Apenas arquivos .csv são aceitos\",\n \"crud.import.invalidFile\": \"Envie um arquivo .csv.\",\n \"crud.import.emptyFile\": \"O arquivo parece estar vazio.\",\n \"crud.import.noRows\": \"O arquivo tem cabeçalho mas nenhuma linha de dados.\",\n \"crud.import.mappingTitle\": \"Mapeie suas colunas\",\n \"crud.import.mappingDescription\": \"{{file}} — {{columns}} colunas, {{rows}} linhas\",\n \"crud.import.mappedCount\": \"{{count}} de {{total}} mapeados\",\n \"crud.import.csvColumn\": \"Coluna CSV\",\n \"crud.import.mapsTo\": \"Mapeia para\",\n \"crud.import.preview\": \"Prévia\",\n \"crud.import.skip\": \"— Ignorar esta coluna\",\n \"crud.import.startImport\": \"Iniciar importação\",\n \"crud.import.importing\": \"Importando...\",\n \"crud.import.importingHint\": \"Processando {{count}} linhas\",\n \"crud.import.progressCount\": \"{{processed}} de {{total}} linhas processadas\",\n \"crud.import.doneSuccess\": \"Importação concluída!\",\n \"crud.import.doneWithErrors\": \"Importação concluída com erros\",\n \"crud.import.doneCount\": \"{{success}} de {{total}} linhas importadas com sucesso\",\n \"crud.import.rowNumber\": \"Linha {{row}}:\",\n \"crud.import.toastSuccess\": \"{{count}} registros importados\",\n \"crud.import.noConnection\": \"Sem conexão com o banco de dados. A importação requer uma conexão ativa.\",\n \"crud.import.limitExceeded\": \"Esta importação excede o limite do seu plano. Faça upgrade ou importe menos linhas.\",\n \"crud.export.action\": \"Exportar\",\n \"crud.export.noData\": \"Sem dados para exportar.\",\n \"crud.export.toastSuccess\": \"{{count}} registros exportados\",\n \"layout.topbar.keyboardShortcut\": \"⌘K\",\n \"layout.topbar.search\": \"Buscar...\",\n \"layout.commandPalette.commandsCount\": \"{{count}} comando{{plural}}\",\n \"layout.commandPalette.navigate\": \"navegar\",\n \"layout.commandPalette.open\": \"abrir\",\n \"layout.commandPalette.commandCount\": \"{{count}} comando{{plural}}\",\n \"layout.commandPalette.description\": \"Buscar páginas, ações, pessoas, produtos e serviços\",\n \"layout.commandPalette.resultCount\": \"{{count}} resultado{{plural}}\",\n \"layout.commandPalette.title\": \"Paleta de comandos\",\n \"layout.bottomNav.chat\": \"Chat\",\n \"layout.mobileDrawer.description\": \"Links de navegação do aplicativo\",\n \"layout.mobileDrawer.title\": \"Menu de navegação\",\n \"organization.sent\": \"Enviado {{date}}\",\n \"organization.failedInvites\": \"Falha ao enviar convites\",\n \"organization.onboarding.failedCreate\": \"Falha ao criar espaço de trabalho\",\n \"organization.createOrg\": \"Nova área de trabalho\",\n \"organization.createOrgDescription\": \"Crie um novo espaço de trabalho para sua equipe.\",\n \"organization.createOrgTitle\": \"Criar Organização\",\n \"organization.creating\": \"Criando...\",\n \"organization.orgNamePlaceholder\": \"Nome da organização\",\n \"organization.onboarding.oneMoment\": \"Isso levará apenas um momento...\",\n \"organization.onboarding.preferences\": \"Preferências regionais\",\n \"organization.onboarding.settingUp\": \"Configurando seu espaço de trabalho\",\n \"organization.onboarding.setupWorkspace\": \"Configure seu espaço de trabalho\",\n \"organization.onboarding.whatName\": \"Como devemos chamar seu espaço de trabalho?\",\n \"organization.invite.addAnother\": \"Adicionar outro\",\n \"organization.invite.description\": \"Envie convites para entrar na sua organização.\",\n \"organization.invite.emailLabel\": \"Endereços de e-mail\",\n \"organization.invite.roleLabel\": \"Função\",\n \"organization.invite.rolePlaceholder\": \"Selecione uma função\",\n \"organization.invite.sendInvites\": \"Enviar Convites\",\n \"organization.invite.sending\": \"Enviando...\",\n \"organization.invite.sent\": \"Convites enviados\",\n \"organization.invite.sentDescription\": \"Seus membros receberão um e-mail com instruções para entrar.\",\n \"organization.invite.title\": \"Convidar Membros da Equipe\",\n \"organization.permissions.createCustom\": \"Criar Perfil Personalizado\",\n \"organization.permissions.newWithAIHint\": \"Descreva quem é o perfil e eu monto a matriz.\",\n \"organization.permissions.newByHand\": \"Criar manualmente\",\n \"organization.permissions.newByHandHint\": \"Marcar as permissões uma a uma.\",\n \"organization.permissions.askPlaceholder\": \"Descreva o perfil…\",\n \"organization.permissions.askPersona\": \"Administrador de acessos\",\n \"organization.permissions.askPitch\": \"Diga quem é o perfil e o que ele faz.\",\n \"organization.permissions.askDescription\": \"Conheço todas as áreas deste app. Descreva o cargo — o que a pessoa precisa ver, o que precisa lançar e o que não pode alcançar — e eu monto a matriz. Você confirma antes de qualquer coisa ser salva.\",\n \"organization.permissions.askSuggestion.0\": \"Recepção: vê agenda e clientes, não vê financeiro\",\n \"organization.permissions.askSuggestion.1\": \"Profissional: só a própria agenda e os próprios atendimentos\",\n \"organization.permissions.askSuggestion.2\": \"Gerente: tudo menos permissões e cobrança\",\n \"organization.permissions.createProfile\": \"Criar Perfil\",\n \"organization.permissions.duplicate\": \"Duplicar\",\n \"organization.permissions.copyName\": \"{{name}} (cópia)\",\n \"organization.permissions.description\": \"Descrição\",\n \"organization.permissions.descriptionPlaceholder\": \"Descrição opcional\",\n \"organization.permissions.editProfile\": \"Editar: {{name}}\",\n \"organization.permissions.manageBilling\": \"Gerenciar Faturamento\",\n \"organization.permissions.managePermissions\": \"Gerenciar Permissões\",\n \"organization.permissions.manageSettings\": \"Gerenciar Configurações\",\n \"organization.permissions.manageTeam\": \"Gerenciar Equipe\",\n \"organization.permissions.memberCount\": \"{{count}} membro{{plural}}\",\n \"organization.permissions.previewAs\": \"Visualizar como\",\n \"organization.permissions.previewingAs\": \"Visualizando como\",\n \"organization.permissions.exitPreview\": \"Sair da Visualização\",\n \"organization.permissions.searchFeatures\": \"Buscar recursos...\",\n \"organization.permissions.profile\": \"Perfil\",\n \"organization.permissions.profileName\": \"Nome do Perfil\",\n \"organization.permissions.profileNamePlaceholder\": \"ex.: Função Personalizada\",\n \"organization.permissions.subtitle\": \"Gerencie funções e suas permissões.\",\n \"organization.permissions.system\": \"Sistema\",\n \"organization.permissions.systemPermissions\": \"Permissões do Sistema\",\n \"organization.permissions.title\": \"Perfis de Permissão\",\n \"organization.permissions.updateProfile\": \"Atualizar Perfil\",\n \"organization.team.invite\": \"Convidar\",\n \"organization.team.joined\": \"Entrou\",\n \"organization.team.member\": \"Membro\",\n \"organization.team.memberCount\": \"{{count}} membro{{plural}} nesta organização.\",\n \"organization.team.pendingInvites\": \"Convites Pendentes\",\n \"organization.team.removeMember\": \"Remover membro\",\n \"organization.team.unitAccess\": \"Acessos por unidade\",\n \"organization.team.resend\": \"Reenviar\",\n \"organization.team.revoke\": \"Revogar\",\n \"organization.team.inviteResent\": \"Convite reenviado\",\n \"organization.team.inviteRevoked\": \"Convite revogado\",\n \"organization.team.inviteActionFailed\": \"Não foi possível concluir\",\n \"organization.team.role\": \"Função\",\n \"organization.team.sent\": \"Enviado {{date}}\",\n \"organization.team.title\": \"Membros\",\n \"organization.team.you\": \"(você)\",\n \"user.profile\": \"Perfil\",\n \"user.settings\": \"Configurações\",\n \"user.help\": \"Ajuda\",\n \"user.shortcuts\": \"Atalhos de Teclado\",\n \"user.theme\": \"Tema\",\n \"user.themeLight\": \"Claro\",\n \"user.themeDark\": \"Escuro\",\n \"user.themeSystem\": \"Sistema\",\n \"notifications.noUpdates\": \"Nenhuma atualização ainda\",\n \"common.create\": \"Criar\",\n \"common.feature\": \"Recurso\",\n \"common.message\": \"Mensagem...\",\n \"common.more\": \"Mais\",\n \"common.noContent\": \"Nenhum conteúdo ainda\",\n \"chat.defaultTitle\": \"Assistente\",\n \"assistant.invite.placeholder\": \"Pergunte sobre o seu negócio...\",\n \"assistant.invite.dismiss\": \"Agora não\",\n \"assistant.invite.suggested\": \"Sugestões\",\n \"chat.tryAsking\": \"Experimente perguntar\",\n \"chat.fab.tryIt\": \"Experimente\",\n \"chat.fab.dismiss\": \"Não mostrar sugestões aqui\",\n \"chat.fab.open\": \"Abrir assistente\",\n \"chat.fab.close\": \"Fechar assistente\",\n \"chat.attachments.add\": \"Anexar arquivo\",\n \"chat.attachments.dropHere\": \"Solte para anexar\",\n \"chat.attachments.dropHint\": \"Planilhas, PDFs e imagens. Eu leio e uso na resposta.\",\n \"chat.attachments.parsing\": \"lendo…\",\n \"chat.attachments.hasWarnings\": \"com avisos\",\n \"chat.attachments.error.excelUnsupported\": \"formato de Excel não suportado — salve como .xlsx ou .csv\",\n \"chat.whatsapp.continue\": \"Continuar no WhatsApp\",\n \"chat.whatsapp.defaultMessage\": \"Oi! Vim pelo app.\",\n \"chat.messagePlaceholder\": \"Como posso ajudar?\",\n \"chat.upload.send\": \"Ler {{count}} foto(s)\",\n \"chat.upload.addMoreImages\": \"Adicionar mais uma foto\",\n \"chat.upload.addMoreFiles\": \"Adicionar mais um arquivo\",\n \"chat.upload.working\": \"Lendo...\",\n \"chat.upload.browseImage\": \"Ou escolher uma imagem deste aparelho\",\n \"chat.upload.browseFile\": \"Ou escolher um arquivo deste aparelho\",\n \"chat.send\": \"Enviar mensagem\",\n \"chat.notConfigured\": \"Assistente não configurado — defina chat.apiEndpoint para habilitar conversas.\",\n \"chat.unavailable\": \"Assistente indisponível\",\n \"chat.greeting\": \"Como posso ajudar?\",\n \"chat.greetingNamed\": \"Oi {{name}}, como posso ajudar?\",\n \"chat.greetingHint\": \"Peça com suas palavras — ou toque no microfone e fale. Eu consulto seus dados, crio e atualizo cadastros, e explico o que está acontecendo no seu negócio.\",\n \"chat.disclaimer\": \"A IA pode errar. Confira o que for importante.\",\n \"chat.staff.team\": \"Sua equipe\",\n \"chat.staff.switch\": \"Falar com outra pessoa da equipe\",\n \"chat.staff.hire\": \"Conhecer {{name}}\",\n \"chat.staff.hireNote\": \"{{name}} entra na sua equipe assim que o plano for ativado. Você pode cancelar quando quiser.\",\n \"chat.staff.priceFrom\": \"A partir de\",\n \"chat.staff.perMonth\": \"/mês\",\n \"chat.staff.onPlan\": \"no plano {{plan}}\",\n \"chat.staff.priceOnPlans\": \"Veja nos planos o que inclui cada agente.\",\n \"chat.staff.seePlans\": \"Ver planos\",\n \"chat.staff.notHired\": \"Não contratado\",\n \"chat.staff.handoffFrom\": \"{{from}} passou para {{to}}\",\n \"chat.staff.handoffTo\": \"{{to}} assumiu\",\n \"chat.opener.capabilities\": \"O que você consegue fazer aqui?\",\n \"chat.opener.today\": \"Como está o negócio hoje?\",\n \"chat.opener.findRecord\": \"Procura um cadastro pra mim\",\n \"chat.history.title\": \"Conversas\",\n \"chat.recording.pending\": \"Nada foi gravado ainda.\",\n \"chat.recording.running\": \"Gravando. Pode navegar pelo app — a gravação continua.\",\n \"chat.recording.paused\": \"Gravação pausada.\",\n \"chat.recording.finished\": \"Gravação encerrada.\",\n \"chat.status.ready\": \"Pronto\",\n \"chat.status.working\": \"Trabalhando nisso...\",\n \"chat.status.offline\": \"Sem conexão\",\n \"chat.jumpToLatest\": \"Ir para o fim\",\n \"chat.confirmAction.title\": \"Confirmar esta ação?\",\n \"chat.confirmAction.confirm\": \"Confirmar\",\n \"chat.confirmAction.cancel\": \"Cancelar\",\n \"chat.confirmAction.always\": \"Sempre permitir\",\n \"chat.confirmAction.alwaysSession\": \"Permitir nesta sessão\",\n \"chat.confirmAction.alwaysHint\": \"Parar de perguntar antes de \\\"{{label}}\\\"\",\n \"chat.confirmAction.autoApproved\": \"auto\",\n \"chat.confirmAction.autoApprovedHint\": \"Executado sem perguntar — você liberou esta ação\",\n \"chat.confirmAction.blocked\": \"Responda a confirmação acima primeiro\",\n \"chat.confirmAction.fillRequired\": \"Preencha para continuar: {{fields}}\",\n \"chat.confirmAction.showAll\": \"Preencher mais campos ({{count}})\",\n \"chat.confirmAction.showLess\": \"Mostrar menos campos\",\n \"chat.tool.createAppointment\": \"Marcar horário\",\n \"chat.tool.createRecord\": \"Criar registro\",\n \"chat.tool.updateRecord\": \"Atualizar registro\",\n \"chat.tool.deleteRecord\": \"Excluir registro\",\n \"chat.tool.createOrder\": \"Criar pedido\",\n \"chat.tool.createInvoice\": \"Emitir cobrança\",\n \"chat.tool.markPaymentReceived\": \"Marcar pagamento como recebido\",\n \"chat.tool.createCampaign\": \"Criar campanha\",\n \"chat.tool.sendMessage\": \"Enviar mensagem\",\n \"chat.tool.seatGuests\": \"Acomodar clientes\",\n \"chat.tool.toggleMenuItemAvailability\": \"Alterar disponibilidade do item\",\n \"chat.tool.createShopOrder\": \"Criar pedido da loja\",\n \"chat.tool.chargeShopOrder\": \"Gerar cobrança do pedido\",\n \"chat.tool.setShopOrderAddress\": \"Anotar endereço de entrega\",\n \"chat.autoApprovals.title\": \"Ações liberadas\",\n \"chat.autoApprovals.revoke\": \"Voltar a perguntar\",\n \"chat.autoApprovals.revokeAll\": \"Perguntar sempre\",\n \"chat.suggestions.show\": \"Mostrar sugestões\",\n \"chat.suggestions.hide\": \"Ocultar sugestões\",\n \"chat.voice.start\": \"Falar\",\n \"chat.voice.stop\": \"Parar gravação\",\n \"chat.voice.listening\": \"Ouvindo — pode falar\",\n \"chat.voice.transcribing\": \"Transcrevendo...\",\n \"chat.voice.denied\": \"Microfone bloqueado. Libere o acesso nas configurações do navegador.\",\n \"chat.voice.network\": \"Não consegui falar com o serviço de transcrição.\",\n \"chat.voice.failed\": \"Não consegui entender — tente de novo.\",\n \"chat.voice.speakOn\": \"Responder em voz alta\",\n \"chat.voice.speakOff\": \"Silenciar respostas faladas\",\n \"chat.signingIn\": \"Um instante — ainda estou confirmando sua sessão.\",\n \"chat.history\": \"Conversas anteriores\",\n \"chat.history.search\": \"Buscar conversas\",\n \"chat.history.empty\": \"Nenhuma conversa encontrada.\",\n \"chat.history.today\": \"Hoje\",\n \"chat.history.yesterday\": \"Ontem\",\n \"chat.history.week\": \"Últimos 7 dias\",\n \"chat.history.older\": \"Mais antigas\",\n \"chat.newConversation\": \"Nova conversa\",\n \"chat.untitledConversation\": \"Conversa sem título\",\n \"chat.recentConversations\": \"Recentes\",\n \"chat.backToConversations\": \"Voltar para as conversas\",\n \"chat.renameConversation\": \"Renomear\",\n \"chat.saveTitle\": \"Salvar título\",\n \"chat.toolsAvailable\": \"{{count}} ferramentas disponíveis\",\n \"chat.suggestion.dashboard.kpi-summary.0\": \"Como está meu negócio hoje?\",\n \"chat.suggestion.dashboard.kpi-summary.1\": \"Qual o faturamento de hoje?\",\n \"chat.suggestion.dashboard.kpi-summary.2\": \"Me dê um resumo do dia\",\n \"chat.suggestion.agenda.list-appointments.0\": \"O que tem na agenda hoje?\",\n \"chat.suggestion.agenda.list-appointments.1\": \"Mostre os agendamentos de amanhã\",\n \"chat.suggestion.agenda.list-appointments.2\": \"Quem tem mais atendimentos esta semana?\",\n \"chat.suggestion.agenda.create-appointment.0\": \"Agende um corte para Sarah amanhã às 10h\",\n \"chat.suggestion.agenda.check-availability.0\": \"Quando Ana está disponível amanhã?\",\n \"chat.suggestion.agenda.check-availability.1\": \"Encontre um horário de 90 minutos para Carlos esta semana\",\n \"chat.suggestion.financial.get-revenue.0\": \"Quanto faturamos hoje?\",\n \"chat.suggestion.financial.get-revenue.1\": \"Qual o faturamento deste mês?\",\n \"chat.suggestion.financial.get-revenue.2\": \"Compare o faturamento desta semana com a anterior\",\n \"chat.suggestion.financial.create-invoice.0\": \"Crie uma fatura para um novo cliente\",\n \"chat.suggestion.financial.list-payables.0\": \"Mostre as contas em atraso\",\n \"chat.suggestion.financial.list-payables.1\": \"Quais contas vencem esta semana?\",\n \"chat.suggestion.inventory.low-stock.0\": \"Quais produtos estão com estoque baixo?\",\n \"chat.suggestion.inventory.low-stock.1\": \"Mostre um resumo do estoque\",\n \"chat.suggestion.inventory.low-stock.2\": \"Quais são os produtos mais usados?\",\n \"chat.suggestion.crm.count-customers.0\": \"Quantos clientes temos?\",\n \"chat.suggestion.crm.count-customers.1\": \"Quem são meus melhores clientes?\",\n \"chat.suggestion.crm.list-leads.0\": \"Mostre os leads novos desta semana\",\n \"chat.suggestion.crm.list-leads.1\": \"Quais leads precisam de follow-up?\",\n \"chat.suggestion.crm.list-leads.2\": \"Qual nossa taxa de conversão?\",\n \"chat.suggestion.custom_forms.list-templates.0\": \"Quais formulários temos?\",\n \"chat.suggestion.custom_forms.list-templates.1\": \"Mostre os modelos de anamnese\",\n \"chat.suggestion.custom_forms.list-documents.0\": \"Mostre os documentos deste cliente\",\n \"billing.invoice.amount\": \"Valor\",\n \"billing.invoice.date\": \"Data\",\n \"billing.invoice.invoice\": \"Fatura\",\n \"billing.invoice.noInvoices\": \"Nenhuma fatura ainda\",\n \"billing.invoice.status\": \"Status\",\n \"billing.paywall.notAvailable\": \"Este recurso não está disponível no seu plano atual.\",\n \"billing.paywall.requiresPlan\": \"Este recurso requer o plano {{plan}} ou superior.\",\n \"billing.paywall.upgradeRequired\": \"Upgrade Necessário\",\n \"billing.paywall.viewPlans\": \"Ver Planos\",\n \"auth.login.enterCredentials\": \"Insira suas credenciais para acessar sua conta\",\n \"auth.login.failedDefault\": \"Falha ao entrar. Tente novamente.\",\n \"auth.login.failedWithProvider\": \"Falha ao entrar com {{provider}}.\",\n \"auth.login.orContinueWith\": \"ou continue com\",\n \"auth.login.placeholder.email\": \"voce@exemplo.com\",\n \"auth.login.placeholder.password\": \"Digite sua senha\",\n \"auth.login.signingIn\": \"Entrando...\",\n \"auth.login.welcomeBack\": \"Bem-vindo de Volta\",\n \"auth.login.welcomeTo\": \"Bem-vindo ao {{appName}}\",\n \"auth.recovery.checkEmail\": \"Verifique seu e-mail\",\n \"auth.recovery.description\": \"Insira seu e-mail e enviaremos um link para redefinir sua senha.\",\n \"auth.recovery.failedDefault\": \"Falha ao enviar e-mail. Tente novamente.\",\n \"auth.recovery.resetLinkSent\": \"Enviamos um link de redefinição para <strong>{{email}}</strong>. Verifique sua caixa de entrada e siga as instruções.\",\n \"auth.recovery.sendResetLink\": \"Enviar link de redefinição\",\n \"auth.recovery.sending\": \"Enviando...\",\n \"auth.signup.confirmPassword\": \"Confirmar senha\",\n \"auth.signup.creating\": \"Criando conta...\",\n \"auth.signup.emailVerification\": \"Conta criada para {{email}}. Verifique sua caixa de entrada para confirmar seu e-mail.\",\n \"auth.signup.failedDefault\": \"Falha ao criar conta. Tente novamente.\",\n \"auth.signup.fullName\": \"Nome completo\",\n \"auth.signup.getStarted\": \"Comece com sua nova conta\",\n \"auth.signup.passwordMinLength\": \"A senha deve ter pelo menos 8 caracteres.\",\n \"auth.signup.passwordsMismatch\": \"As senhas não conferem.\",\n \"auth.signup.placeholder.confirm\": \"Repita sua senha\",\n \"auth.signup.placeholder.name\": \"João Silva\",\n \"auth.signup.placeholder.password\": \"Pelo menos 8 caracteres\",\n \"auth.signup.termsAgreement\": \"Ao criar uma conta, você concorda com nossos\",\n \"settings.branding.accentColor\": \"Cor de Destaque\",\n \"settings.branding.chooseFile\": \"Escolher Arquivo\",\n \"settings.branding.favicon\": \"Favicon\",\n \"settings.branding.faviconHint\": \"Recomendado: 32x32px, PNG ou ICO\",\n \"settings.branding.logo\": \"Logo\",\n \"settings.branding.logoHint\": \"Recomendado: 200x50px, PNG ou SVG\",\n \"settings.branding.preview\": \"Pré-visualização\",\n \"settings.branding.primaryColor\": \"Cor Primária\",\n \"settings.branding.saveBranding\": \"Salvar Marca\",\n \"settings.branding.subtitle\": \"Personalize a aparência do seu espaço de trabalho.\",\n \"settings.branding.title\": \"Marca\",\n \"settings.company.currency\": \"Moeda\",\n \"settings.company.currencyPlaceholder\": \"Selecione a moeda\",\n \"settings.company.locale\": \"Idioma\",\n \"settings.company.localePlaceholder\": \"Selecione o idioma\",\n \"settings.company.name\": \"Nome da Empresa\",\n \"settings.company.subtitle\": \"Atualize os dados da sua organização e preferências regionais.\",\n \"settings.company.timezone\": \"Fuso Horário\",\n \"settings.company.timezonePlaceholder\": \"Selecione o fuso horário\",\n \"settings.company.title\": \"Informações da Empresa\",\n \"settings.holidays.addHoliday\": \"Adicionar Feriado\",\n \"settings.holidays.annual\": \"Anual\",\n \"settings.holidays.descriptionPlaceholder\": \"Descrição (opcional)\",\n \"settings.holidays.empty\": \"Nenhum feriado configurado ainda.\",\n \"settings.holidays.namePlaceholder\": \"Nome do feriado *\",\n \"settings.holidays.newHoliday\": \"Novo Feriado\",\n \"settings.holidays.recurringAnnually\": \"Recorrente anualmente\",\n \"settings.holidays.subtitle\": \"Dias não úteis e feriados recorrentes.\",\n \"settings.holidays.title\": \"Feriados\",\n \"settings.fieldRules.subtitle\": \"Configure quais campos são obrigatórios ou visíveis para cada tipo de cadastro.\",\n \"settings.fieldRules.required\": \"Obrigatório\",\n \"settings.fieldRules.inForm\": \"Formulário\",\n \"settings.fieldRules.inTable\": \"Tabela\",\n \"settings.fieldRules.inDetail\": \"Detalhe\",\n \"settings.fieldRules.field\": \"Campo\",\n \"settings.fieldRules.resetDefaults\": \"Restaurar Padrões\",\n \"settings.fieldRules.resetConfirm\": \"Restaurar todas as regras de campos de {{entity}} para seus padrões?\",\n \"settings.fieldRules.saved\": \"Regras de campos salvas\",\n \"settings.fieldRules.saveFailed\": \"Falha ao salvar regras de campos\",\n \"settings.fieldRules.modified\": \"{{count}} modificado(s)\",\n \"settings.fieldRules.searchPlaceholder\": \"Buscar tipos de cadastro...\",\n \"settings.fieldRules.noEntities\": \"Nenhum tipo de cadastro disponível.\",\n \"settings.fieldRules.coreRegisters\": \"Tipos de Cadastro\",\n \"settings.fieldRules.otherRegisters\": \"Outros\",\n \"settings.fieldRules.showMore\": \"{{count}} tipos de cadastro a mais...\",\n \"settings.fieldRules.showLess\": \"Mostrar menos\",\n \"settings.locations.addFirst\": \"Adicione seu primeiro local\",\n \"settings.locations.addLocation\": \"Adicionar Local\",\n \"settings.locations.adding\": \"Adicionando...\",\n \"settings.locations.addressPlaceholder\": \"Endereço\",\n \"settings.locations.cityPlaceholder\": \"Cidade\",\n \"settings.locations.countDescription\": \"{{count}} local{{plural}} cadastrado(s).\",\n \"settings.locations.countryPlaceholder\": \"País\",\n \"settings.locations.empty\": \"Nenhum local foi adicionado a esta organização ainda.\",\n \"settings.locations.headquarters\": \"Sede\",\n \"settings.locations.namePlaceholder\": \"Nome do local *\",\n \"settings.locations.newLocation\": \"Novo Local\",\n \"settings.locations.noLocations\": \"Nenhum local configurado ainda.\",\n \"settings.locations.phonePlaceholder\": \"Telefone\",\n \"settings.locations.statePlaceholder\": \"Estado\",\n \"settings.locations.title\": \"Locais\",\n \"settings.profile.email\": \"E-mail\",\n \"settings.profile.emailHelp\": \"O e-mail não pode ser alterado diretamente. Entre em contato com o suporte.\",\n \"settings.profile.fullName\": \"Nome Completo\",\n \"settings.profile.saveProfile\": \"Salvar Perfil\",\n \"settings.profile.subtitle\": \"Gerencie suas informações pessoais e configurações da conta.\",\n \"settings.profile.title\": \"Perfil\",\n \"settings.security.inviteOnly\": \"Acesso Apenas por Convite\",\n \"settings.security.inviteOnlyDescription\": \"Novos usuários só podem entrar nesta organização via convite.\",\n \"settings.security.linkSent\": \"Link Enviado\",\n \"settings.security.orgSecuritySubtitle\": \"Políticas de segurança aplicadas a todos os membros desta organização.\",\n \"settings.security.orgSecurityTitle\": \"Segurança da Organização\",\n \"settings.security.passwordSubtitle\": \"Gerencie a senha da sua conta. Um link de redefinição será enviado para seu e-mail.\",\n \"settings.security.passwordTitle\": \"Senha\",\n \"settings.security.require2FA\": \"Exigir Autenticação de Dois Fatores\",\n \"settings.security.require2FADescription\": \"Todos os membros devem ativar 2FA para acessar esta organização.\",\n \"settings.security.resetLinkDescription\": \"Enviar um link de redefinição de senha para seu e-mail.\",\n \"settings.security.resetLinkSent\": \"Link de redefinição enviado — verifique sua caixa de entrada.\",\n \"settings.security.resetPassword\": \"Redefinir Senha\",\n \"settings.security.sessionTimeout\": \"Tempo Limite da Sessão\",\n \"settings.security.sessionTimeoutDescription\": \"Desconectar automaticamente usuários inativos após este período.\",\n \"settings.plugin.agenda\": \"Agenda\",\n \"settings.plugin.financial\": \"Financeiro\",\n \"settings.plugin.inventory\": \"Estoque\",\n \"settings.plugin.crm\": \"Vendas & CRM\",\n \"crud.archetype.comingSoon\": \"Em Breve\",\n \"crud.archetype.access.title\": \"Acesso e Permissões\",\n \"crud.archetype.access.description\": \"Gerencie credenciais de login, atribua perfis de permissão e controle o que esta pessoa pode acessar no sistema.\",\n \"crud.access.accountStatus\": \"Status da Conta\",\n \"crud.access.statusLinked\": \"Ativo\",\n \"crud.access.statusPending\": \"Convite pendente\",\n \"crud.access.statusAccepted\": \"Aceito\",\n \"crud.access.statusExpired\": \"Convite expirado\",\n \"crud.access.statusRevoked\": \"Revogado\",\n \"crud.access.acceptedAt\": \"Aceito em {{date}}\",\n \"crud.access.revokedDesc\": \"O acesso foi revogado. Você pode enviar um novo convite.\",\n \"crud.access.grantAccess\": \"Conceder Acesso\",\n \"crud.access.account\": \"Conta\",\n \"crud.access.accountDesc\": \"Credenciais de login e status da conta desta pessoa.\",\n \"crud.access.resetPassword\": \"Redefinir Senha\",\n \"crud.access.passwordResetSent\": \"E-mail de redefinição de senha enviado.\",\n \"crud.access.profileUpdated\": \"Perfil de permissão atualizado.\",\n \"crud.access.inviteResent\": \"Convite reenviado.\",\n \"crud.access.inviteRevoked\": \"Convite revogado.\",\n \"crud.access.accessRemoved\": \"Acesso removido.\",\n \"crud.access.dangerZone\": \"Zona de Perigo\",\n \"crud.access.dangerZoneDesc\": \"Ações irreversíveis que afetam o acesso desta pessoa ao sistema.\",\n \"crud.access.removeAccess\": \"Remover Acesso\",\n \"crud.access.revokeInvite\": \"Revogar Convite\",\n \"crud.access.confirmRemoveTitle\": \"Tem certeza?\",\n \"crud.access.confirmRemoveDesc\": \"Esta pessoa perderá todo o acesso ao sistema imediatamente. Esta ação não pode ser desfeita.\",\n \"crud.access.accountLinked\": \"Conta vinculada\",\n \"crud.access.noAccount\": \"Nenhuma conta vinculada\",\n \"crud.access.noAccountDesc\": \"Esta pessoa não possui uma conta de acesso e não pode entrar no sistema.\",\n \"crud.access.setupDesc\": \"Configure o acesso ao sistema para esta pessoa informando o e-mail e escolhendo um perfil de permissão.\",\n \"crud.access.emailPlaceholder\": \"pessoa@exemplo.com\",\n \"crud.access.sendInvite\": \"Enviar Convite\",\n \"crud.access.invitePending\": \"Convite pendente\",\n \"crud.access.inviteSent\": \"Convite enviado em {{date}}\",\n \"crud.access.permissionProfile\": \"Perfil de Permissão\",\n \"crud.access.profileDesc\": \"Defina o que esta pessoa pode acessar e fazer no sistema.\",\n \"crud.access.systemAccess\": \"Acesso ao Sistema\",\n \"crud.access.effectivePermissions\": \"Permissões Efetivas\",\n \"crud.access.effectiveDesc\": \"O que esta pessoa pode fazer com base no perfil atribuído.\",\n \"crud.access.feature\": \"Funcionalidade\",\n \"crud.access.joined\": \"Entrou em {{date}}\",\n \"crud.access.noEmail\": \"Sem endereço de e-mail\",\n \"crud.access.noEmailDesc\": \"Adicione um endereço de e-mail a esta pessoa para vinculá-la a uma conta do sistema.\",\n \"crud.access.manageTeam\": \"Gerenciar Equipe\",\n \"crud.access.manageBilling\": \"Gerenciar Faturamento\",\n \"crud.access.manageSettings\": \"Gerenciar Configurações\",\n \"crud.access.managePermissions\": \"Gerenciar Permissões\",\n \"crud.archetype.activity.title\": \"Linha do Tempo\",\n \"crud.archetype.activity.description\": \"Veja um registro cronológico de todas as ações, alterações e eventos relacionados a esta pessoa.\",\n \"crud.archetype.documents.title\": \"Documentos\",\n \"crud.archetype.documents.description\": \"Anexe e gerencie arquivos, contratos, certificações e outros documentos desta pessoa.\",\n \"crud.archetype.addresses.title\": \"Endereços\",\n \"crud.archetype.addresses.add\": \"Adicionar endereço\",\n \"crud.archetype.addresses.addTitle\": \"Novo endereço\",\n \"crud.archetype.addresses.editTitle\": \"Editar endereço\",\n \"crud.archetype.addresses.formDescription\": \"CEP, rua e cidade são obrigatórios; o resto é opcional.\",\n \"crud.archetype.addresses.emptyTitle\": \"Nenhum endereço cadastrado\",\n \"crud.archetype.addresses.emptyDescription\": \"Cadastre onde esta pessoa recebe entregas, é coletada ou é cobrada.\",\n \"crud.archetype.addresses.fallbackLabel\": \"Endereço\",\n \"crud.archetype.addresses.labelPlaceholder\": \"Casa, Trabalho…\",\n \"crud.archetype.addresses.default\": \"Padrão\",\n \"crud.archetype.addresses.setDefault\": \"Usar como endereço padrão\",\n \"crud.archetype.addresses.kind.both\": \"Entrega e cobrança\",\n \"crud.archetype.addresses.kind.shipping\": \"Entrega\",\n \"crud.archetype.addresses.kind.billing\": \"Cobrança\",\n \"crud.archetype.addresses.field.label\": \"Identificação\",\n \"crud.archetype.addresses.field.kind\": \"Uso\",\n \"crud.archetype.addresses.cepNotFound\": \"CEP não encontrado. Preencha o endereço à mão.\",\n \"crud.archetype.addresses.cepFailed\": \"Não deu para consultar o CEP agora. Preencha à mão ou tente de novo.\",\n \"crud.archetype.addresses.field.postalCode\": \"CEP\",\n \"crud.archetype.addresses.field.street\": \"Rua\",\n \"crud.archetype.addresses.field.number\": \"Número\",\n \"crud.archetype.addresses.field.complement\": \"Complemento\",\n \"crud.archetype.addresses.field.district\": \"Bairro\",\n \"crud.archetype.addresses.field.city\": \"Cidade\",\n \"crud.archetype.addresses.field.state\": \"UF\",\n \"crud.archetype.addresses.field.recipient\": \"Quem recebe\",\n \"crud.archetype.addresses.field.phone\": \"Telefone\",\n \"crud.archetype.addresses.created\": \"Endereço adicionado\",\n \"crud.archetype.addresses.updated\": \"Endereço atualizado\",\n \"crud.archetype.addresses.deleted\": \"Endereço removido\",\n \"crud.archetype.addresses.deleteTitle\": \"Remover este endereço?\",\n \"crud.archetype.addresses.loadFailed\": \"Não foi possível carregar os endereços.\",\n \"crud.archetype.addresses.saveFailed\": \"Não foi possível salvar o endereço.\",\n \"crud.archetype.addresses.deleteFailed\": \"Não foi possível remover o endereço.\",\n \"crud.archetype.addresses.noTenant\": \"Nenhuma organização ativa — recarregue a página e tente de novo.\",\n \"crud.archetype.schedule.title\": \"Agenda\",\n \"crud.archetype.schedule.description\": \"Visualize e gerencie compromissos, turnos e disponibilidade desta pessoa.\",\n \"crud.archetype.inventory.title\": \"Estoque\",\n \"crud.archetype.inventory.description\": \"Acompanhe níveis de estoque, histórico de movimentação, alertas de reposição e gerencie o inventário entre locais.\",\n \"crud.archetype.suppliers.title\": \"Fornecedores\",\n \"crud.archetype.suppliers.description\": \"Veja e gerencie quais fornecedores oferecem este produto, compare custos e acompanhe pedidos de compra.\",\n \"crud.archetype.pricing.title\": \"Histórico de Preços\",\n \"crud.archetype.pricing.description\": \"Veja alterações de preço ao longo do tempo, gerencie preços promocionais e defina preços por local.\",\n \"crud.archetype.productActivity.title\": \"Atividade\",\n \"crud.archetype.productActivity.description\": \"Veja um registro de todas as alterações, ajustes de estoque e eventos relacionados a este produto.\",\n \"crud.archetype.availability.title\": \"Disponibilidade\",\n \"crud.archetype.availability.description\": \"Configure quando este serviço pode ser agendado, defina regras de duração e gerencie limites de capacidade.\",\n \"crud.archetype.servicePricing.title\": \"Faixas de Preço\",\n \"crud.archetype.servicePricing.description\": \"Gerencie faixas de preço, descontos para membros e preços por local para este serviço.\",\n \"crud.archetype.serviceActivity.title\": \"Atividade\",\n \"crud.archetype.serviceActivity.description\": \"Veja um registro de todos os agendamentos, alterações e eventos relacionados a este serviço.\",\n \"crud.archetype.members.title\": \"Equipe\",\n \"crud.archetype.members.description\": \"Veja e gerencie a equipe atribuída a este local, seus cargos e horários.\",\n \"crud.archetype.locationSchedule.title\": \"Horário de Funcionamento\",\n \"crud.archetype.locationSchedule.description\": \"Defina horário comercial, feriados e horários especiais para este local.\",\n \"crud.archetype.locationStats.title\": \"Estatísticas\",\n \"crud.archetype.locationStats.description\": \"Veja métricas de desempenho, faturamento e atividade deste local.\",\n \"crud.archetype.locationActivity.title\": \"Atividade\",\n \"crud.archetype.locationActivity.description\": \"Veja um registro de todos os eventos, alterações e operações neste local.\",\n \"crud.archetype.owner.noOwner\": \"Nenhum responsável atribuído\",\n \"crud.archetype.owner.assignHint\": \"Edite este registro para atribuir um responsável.\",\n \"crud.archetype.owner.name\": \"Nome\",\n \"crud.archetype.owner.phone\": \"Telefone\",\n \"crud.archetype.owner.email\": \"E-mail\",\n \"crud.archetype.owner.document\": \"Documento\",\n \"crud.archetype.owner.address\": \"Endereço\",\n \"crud.archetype.owner.active\": \"Ativo\",\n \"crud.archetype.owner.inactive\": \"Inativo\",\n \"crud.archetype.history.title\": \"Histórico\",\n \"crud.archetype.history.description\": \"Veja o histórico de visitas, relatórios anteriores, tratamentos e linha do tempo de eventos.\",\n \"crud.archetype.subjectDocuments.title\": \"Documentos\",\n \"crud.archetype.subjectDocuments.description\": \"Anexe e gerencie arquivos, resultados de exames, imagens e certificados.\",\n \"schedule.days.sun\": \"Dom\",\n \"schedule.days.mon\": \"Seg\",\n \"schedule.days.tue\": \"Ter\",\n \"schedule.days.wed\": \"Qua\",\n \"schedule.days.thu\": \"Qui\",\n \"schedule.days.fri\": \"Sex\",\n \"schedule.days.sat\": \"Sáb\",\n \"schedule.editor.weeklyTitle\": \"Horário de Trabalho Semanal\",\n \"schedule.editor.weeklyDescription\": \"Defina quando este profissional está regularmente disponível\",\n \"schedule.editor.unavailable\": \"Indisponível\",\n \"schedule.editor.newInterval\": \"Novo intervalo para {{day}}\",\n \"schedule.editor.addHoursFor\": \"Adicionar horários para {{day}}\",\n \"schedule.editor.removeInterval\": \"Remover intervalo\",\n \"schedule.editor.copyToAll\": \"Copiar para todos os dias\",\n \"schedule.editor.bufferTooltip\": \"Tempo de intervalo entre atendimentos\",\n \"schedule.editor.min\": \"min\",\n \"schedule.editor.exceptionsTitle\": \"Exceções de Data\",\n \"schedule.editor.exceptionsDescription\": \"Substituir horário de trabalho para datas específicas\",\n \"schedule.editor.addException\": \"Adicionar Exceção\",\n \"schedule.editor.noExceptions\": \"Nenhuma exceção de data configurada\",\n \"schedule.editor.startDate\": \"Data de início\",\n \"schedule.editor.endDate\": \"Data de término\",\n \"schedule.editor.type\": \"Tipo\",\n \"schedule.editor.customHours\": \"Horário personalizado\",\n \"schedule.editor.workingHours\": \"Horário de trabalho\",\n \"schedule.editor.to\": \"até\",\n \"schedule.editor.addTimeBlock\": \"Adicionar bloco de horário\",\n \"schedule.editor.notes\": \"Observações\",\n \"schedule.editor.notesPlaceholder\": \"ex. Férias, Feriado, Treinamento...\",\n \"schedule.editor.saveException\": \"Salvar Exceção\",\n \"schedule.editor.removeException\": \"Remover exceção\",\n \"schedule.editor.failedToLoad\": \"Falha ao carregar agenda\",\n \"schedule.editor.saved\": \"Horário de trabalho salvo\",\n \"schedule.editor.failedToSave\": \"Falha ao salvar\",\n \"schedule.editor.selectStartDate\": \"Selecione uma data de início\",\n \"schedule.editor.endDateAfterStart\": \"A data de término deve ser posterior à data de início\",\n \"schedule.editor.exceptionAdded\": \"Exceção adicionada\",\n \"schedule.editor.failedToSaveException\": \"Falha ao salvar exceção\",\n \"schedule.editor.exceptionRemoved\": \"Exceção removida\",\n \"schedule.editor.failedToDelete\": \"Falha ao excluir\",\n \"schedule.blockSettings.title\": \"Configurações do Bloco\",\n \"schedule.blockSettings.location\": \"Local\",\n \"schedule.blockSettings.noLocation\": \"Sem local\",\n \"schedule.blockSettings.maxConcurrent\": \"Máx. simultâneos\",\n \"schedule.blockSettings.minAdvance\": \"Antecedência mín.\",\n \"schedule.blockSettings.maxAdvance\": \"Antecedência máx.\",\n \"schedule.blockSettings.hrs\": \"hrs\",\n \"schedule.blockSettings.days\": \"dias\",\n \"schedule.blockSettings.label\": \"Rótulo\",\n \"schedule.blockSettings.labelPlaceholder\": \"ex. Manhã – Apenas cortes\",\n \"schedule.blockSettings.allowedServices\": \"Serviços permitidos\",\n \"schedule.blockSettings.allServices\": \"Todos os serviços\",\n \"schedule.blockSettings.oneService\": \"1 serviço\",\n \"schedule.blockSettings.nServices\": \"{{count}} serviços\",\n \"registry.suppliers\": \"Fornecedor\",\n \"registry.suppliers.description\": \"Gerencie seus fornecedores de produtos e materiais\",\n \"registry.product-categories\": \"Categoria de Produto\",\n \"registry.product-categories.description\": \"Categorias de produtos para organização\",\n \"registry.stock-locations\": \"Local de Estoque\",\n \"registry.stock-locations.description\": \"Locais físicos de armazenamento do estoque\",\n \"registry.measurement-units\": \"Unidade de Medida\",\n \"registry.measurement-units.description\": \"Unidades padrão de medida\",\n \"registry.payment-methods\": \"Método de Pagamento\",\n \"registry.chart-of-accounts\": \"Plano de Contas\",\n \"registry.cost-centers\": \"Centro de Custo\",\n \"registry.bank-accounts\": \"Conta Bancária\",\n \"registry.commission-rules\": \"Regra de Comissão\",\n \"registry.price-tables\": \"Tabela de Preços\",\n \"registry.price-variations\": \"Variação de Preço\",\n \"registry.payment-method-types\": \"Tipo de Pagamento\",\n \"registry.card-brands\": \"Bandeira de Cartão\",\n \"registry.lead-sources\": \"Origem de Lead\",\n \"registry.tags\": \"Tag\",\n \"registry.activity-types\": \"Tipo de Atividade\",\n \"org.connectionError.title\": \"Falha na conexão\",\n \"org.connectionError.description\": \"Não foi possível conectar ao servidor. Verifique sua conexão com a internet e tente novamente.\",\n \"org.connectionError.retry\": \"Tentar novamente\",\n \"app.mockMode.banner\": \"Você está no modo offline. Os dados exibidos podem não estar atualizados.\",\n\n // Barra de controles das Análises — período, comparação e filtros.\n \"analytics.range.today\": \"Hoje\",\n \"analytics.range.yesterday\": \"Ontem\",\n \"analytics.range.last_7_days\": \"Últimos 7 dias\",\n \"analytics.range.last_30_days\": \"Últimos 30 dias\",\n \"analytics.range.last_90_days\": \"Últimos 90 dias\",\n \"analytics.range.this_month\": \"Este mês\",\n \"analytics.range.last_month\": \"Mês passado\",\n \"analytics.range.this_quarter\": \"Este trimestre\",\n \"analytics.range.this_year\": \"Este ano\",\n \"analytics.range.custom\": \"Período personalizado\",\n \"analytics.range.label\": \"Período\",\n \"analytics.range.from\": \"De\",\n \"analytics.range.to\": \"Até\",\n \"analytics.compare.previous_period\": \"Período anterior\",\n \"analytics.compare.previous_year\": \"Ano anterior\",\n \"analytics.compare.none\": \"Sem comparação\",\n \"analytics.compare.label\": \"Comparar\",\n \"analytics.filters\": \"Filtros\",\n \"analytics.filters.search\": \"Buscar filtros\",\n \"analytics.filters.none\": \"Nenhum filtro encontrado\",\n \"analytics.filters.noOptions\": \"Nenhuma opção disponível\",\n \"analytics.filters.apply\": \"Aplicar\",\n \"analytics.filters.clear\": \"Limpar\",\n \"analytics.filters.general\": \"Geral\",\n \"analytics.filters.selected\": \"{{count}} selecionados\",\n \"analytics.filters.remove\": \"Remover filtro\",\n \"analytics.refresh\": \"Atualizar\",\n \"assistant.askAI\": \"Criar com IA\",\n // Tasks moved from plugin-tasks into the shell with 047, so the strings had\n // to come with it — an app without the plugin would otherwise show raw keys.\n // The plugin still registers its own copy; last one in wins and they match.\n \"tasks.drawer.title\": \"Tarefas\",\n \"tasks.drawer.subtitle\": \"Gerencie as tarefas da equipe\",\n \"tasks.quickAdd.placeholder\": \"Adicionar tarefa...\",\n \"tasks.filter.all\": \"Todas\",\n \"tasks.filter.todo\": \"A Fazer\",\n \"tasks.filter.inProgress\": \"Em Andamento\",\n \"tasks.filter.done\": \"Concluídas\",\n \"tasks.filter.mine\": \"Minhas\",\n \"tasks.group.onboarding\": \"Primeiros passos\",\n // The same words as the group header — the tag is that header travelling\n // with the row into the filtered views, where there is no header.\n \"tasks.source.onboarding\": \"Primeiros passos\",\n \"tasks.source.agent\": \"Assistente\",\n \"tasks.status.todo\": \"A Fazer\",\n \"tasks.status.in_progress\": \"Em Andamento\",\n \"tasks.status.done\": \"Concluída\",\n \"tasks.status.cancelled\": \"Cancelada\",\n \"tasks.priority.low\": \"Baixa\",\n \"tasks.priority.medium\": \"Média\",\n \"tasks.priority.high\": \"Alta\",\n \"tasks.priority.urgent\": \"Urgente\",\n \"tasks.detail.descriptionPlaceholder\": \"Adicionar descrição...\",\n \"tasks.detail.dueDate\": \"Data de Vencimento\",\n \"tasks.detail.subtasks\": \"Subtarefas\",\n \"tasks.detail.delete\": \"Excluir Tarefa\",\n \"tasks.detail.deleteConfirm\": \"Tem certeza que deseja excluir esta tarefa?\",\n \"tasks.detail.created\": \"Criada em\",\n \"tasks.detail.updated\": \"Atualizada em\",\n \"tasks.detail.chatWithAi\": \"Conversar com IA\",\n \"tasks.detail.chatWithAi.prompt\": \"Assuma esta tarefa e me ajude a resolver agora, usando suas ferramentas quando precisar:\",\n \"tasks.detail.addSubtask\": \"Adicionar subtarefa...\",\n \"tasks.detail.back\": \"Voltar à lista\",\n \"tasks.detail.title\": \"Tarefa\",\n \"tasks.summary.overdue\": \"atrasadas\",\n \"tasks.summary.dueToday\": \"vencem hoje\",\n \"tasks.empty\": \"Nenhuma tarefa ainda\",\n \"tasks.empty.description\": \"Adicione sua primeira tarefa usando o campo acima\",\n \"analytics.moveBar\": \"Mover a barra (arraste, ou setas do teclado; duplo clique volta ao lugar)\",\n}\n"]}
@@ -0,0 +1,206 @@
1
+ import type { AgentRole } from './agents';
2
+ /**
3
+ * Activation programs — how a module says what "up and running" means for it.
4
+ *
5
+ * The getting-started checklist used to be one hardcoded list in the shell,
6
+ * which meant the app that sells online and the clinic that books appointments
7
+ * were told to do the same four things. A module knows its own definition of
8
+ * launched (a shop is not live until it has a catalog, a payment method and a
9
+ * published storefront), so the module is what declares it.
10
+ *
11
+ * What the module declares is a PROGRAM: an ordered list of steps plus the
12
+ * instructions the agent follows while walking somebody through them. The steps
13
+ * become task rows (see the admin's onboarding/tasks), so the checklist in the
14
+ * rail, the Tasks panel and the agent are three windows onto one set of rows.
15
+ *
16
+ * The same split the checklist has always had holds here: THE DATABASE HOLDS
17
+ * STATE, CODE HOLDS BEHAVIOUR, joined by `source_key`. A route, a sensor and a
18
+ * tour cannot live in a row; a title must, because the Tasks panel shows it to
19
+ * somebody who never saw this catalog.
20
+ */
21
+ /**
22
+ * One move of a guided step, as data.
23
+ *
24
+ * The walkthrough used to be entirely the model's job: every "open the products
25
+ * page", every "click Adicionar", every "type a name" was a turn — a round trip
26
+ * and a bill for something that never varies. What actually varies is the
27
+ * conversation AROUND it, not the choreography.
28
+ *
29
+ * So the choreography is declared. The runtime plays it with no model call at
30
+ * all; the model is handed the turn only where the script says `ask`, or the
31
+ * moment the person types something of their own. Same words every time, in the
32
+ * right order, at a fraction of the cost — and a step whose script is wrong is
33
+ * a data fix, not a prompt to re-tune.
34
+ */
35
+ export type OnboardingMove =
36
+ /** Take them to a screen. */
37
+ {
38
+ kind: 'goto';
39
+ route: string;
40
+ }
41
+ /** The assistant says a line. Verbatim, no model call. */
42
+ | {
43
+ kind: 'say';
44
+ text: string;
45
+ }
46
+ /**
47
+ * Put the spotlight on one control. Consecutive `point` moves become one
48
+ * tour; `waitForUser` makes the last of them a handover — no "next" button,
49
+ * the run continues when the step's sensor notices the work landed.
50
+ */
51
+ | {
52
+ kind: 'point';
53
+ anchor: string;
54
+ title: string;
55
+ body?: string;
56
+ waitForUser?: boolean;
57
+ }
58
+ /** Stop and wait for the sensor. Nothing else runs until the step closes. */
59
+ | {
60
+ kind: 'await';
61
+ text?: string;
62
+ }
63
+ /**
64
+ * Ask, with the answers on offer.
65
+ *
66
+ * The half a walkthrough was missing: "cadastre um produto" assumes there is
67
+ * only one way in, and there are three — a spreadsheet, typing one by one, or
68
+ * letting the assistant propose a catalog from what it already knows about
69
+ * the business. Tapping an option hands the turn to the model with an
70
+ * unambiguous id, so the branch costs one turn instead of a conversation
71
+ * about which branch this is.
72
+ */
73
+ | {
74
+ kind: 'choose';
75
+ id: string;
76
+ question: string;
77
+ options: Array<{
78
+ id: string;
79
+ label: string;
80
+ meta?: string;
81
+ }>;
82
+ }
83
+ /**
84
+ * Hand the turn to the model, with this as the prompt. For the parts a script
85
+ * cannot do: reading what they typed, deciding between two paths, answering
86
+ * a question the step is bound to raise.
87
+ */
88
+ | {
89
+ kind: 'ask';
90
+ text: string;
91
+ };
92
+ /** One thing to do before the module counts as live. */
93
+ export interface OnboardingStepDef {
94
+ /**
95
+ * Stable id, namespaced by the program when it is merged (`shop.catalog`).
96
+ * Becomes `tasks.source_key` and is the idempotency key for re-seeding —
97
+ * REWORDING A TITLE IS FREE, CHANGING A KEY IS A DUPLICATE ROW.
98
+ */
99
+ key: string;
100
+ title: string;
101
+ description?: string;
102
+ /** Lucide icon name, as the nav entries use. */
103
+ icon?: string;
104
+ /** Where the step's action goes. Never stored. */
105
+ route?: string;
106
+ priority?: 'low' | 'medium' | 'high' | 'urgent';
107
+ dueInDays?: number;
108
+ /** Only offered for these verticals. Absent means every vertical. */
109
+ verticals?: string[];
110
+ /**
111
+ * A step from the platform's base checklist this one SUPERSEDES, by key.
112
+ *
113
+ * The base list has to say something about the first record ("cadastre seu
114
+ * primeiro produto") for an app with no module that owns it. When a module
115
+ * does own it, that generic step and the module's are the same errand, and
116
+ * showing both is how a checklist starts feeling like paperwork. Declared
117
+ * rather than inferred: a silent collision on a key is the kind of magic that
118
+ * deletes somebody's step three releases later.
119
+ */
120
+ replaces?: string;
121
+ /**
122
+ * What the agent should say/do when it is this step's turn. One or two lines
123
+ * of INTENT — not a script, and never the UI copy (that is `title`).
124
+ */
125
+ agentHint?: string;
126
+ /**
127
+ * How the thing is actually done in this system, in a person's words.
128
+ *
129
+ * Distinct from `agentHint` on purpose: the hint is what the assistant should
130
+ * be trying to achieve, this is the mechanics — which screen, which button,
131
+ * what the field wants. It is seeded onto the task row, so the Tasks panel
132
+ * shows it to somebody working alone at 11pm, and it is what the assistant
133
+ * reads before walking anybody through the step. Written once, used by both.
134
+ */
135
+ howTo?: string;
136
+ /**
137
+ * A guided pass over the screen for this step. The agent can start it, and so
138
+ * can the checklist item itself.
139
+ */
140
+ tour?: TourDef;
141
+ /**
142
+ * The walkthrough, as data — see {@link OnboardingMove}. Present, the runtime
143
+ * plays it and the model is only called where the script says so. Absent, the
144
+ * assistant improvises from `howTo` and `agentHint`, which still works and
145
+ * costs a turn per move.
146
+ */
147
+ script?: OnboardingMove[];
148
+ /** One short line when the step closes. Said locally; no model call. */
149
+ celebrate?: string;
150
+ /**
151
+ * Cheap "is this already true of the data?" probe. Runs once per open step
152
+ * per shell mount. Absent means the only way to close the step is to tick it
153
+ * (by hand, or by the agent).
154
+ */
155
+ check?: () => Promise<boolean>;
156
+ }
157
+ /** A module's activation program. */
158
+ export interface OnboardingProgramDef {
159
+ /** Stable id, usually the plugin id (`shop`). Namespaces every step key. */
160
+ id: string;
161
+ /** Section heading when more than one program is on screen. */
162
+ title: string;
163
+ /** Ordering against other programs. Lower runs first. Defaults to 100. */
164
+ order?: number;
165
+ /** Which colleague guides this program. Defaults to the plugin's role. */
166
+ role?: AgentRole;
167
+ /**
168
+ * Guidance handed to the agent while this program has open steps — the
169
+ * module's own onboarding instructions, in its own words.
170
+ */
171
+ instructions?: string;
172
+ /** Only seeded for these verticals. Absent means every vertical. */
173
+ verticals?: string[];
174
+ steps: OnboardingStepDef[];
175
+ }
176
+ /** A program plus the plugin identity it came from. */
177
+ export interface ResolvedOnboardingProgram extends OnboardingProgramDef {
178
+ pluginId: string;
179
+ pluginName: string;
180
+ order: number;
181
+ }
182
+ /**
183
+ * A tour stop. `anchor` matches a `data-tour="<anchor>"` attribute anywhere in
184
+ * the document; a stop whose anchor is not on the page is skipped rather than
185
+ * pointing at nothing.
186
+ */
187
+ export interface TourStopDef {
188
+ anchor: string;
189
+ title: string;
190
+ body?: string;
191
+ /** Navigate here before looking for the anchor. */
192
+ route?: string;
193
+ placement?: 'top' | 'bottom' | 'left' | 'right' | 'auto';
194
+ /**
195
+ * This stop is a HANDOVER: the spotlight stays on the control and waits for
196
+ * the person to use it, instead of offering "next". The tour advances on its
197
+ * own when the step's sensor notices the work landed.
198
+ */
199
+ waitForUser?: boolean;
200
+ }
201
+ export interface TourDef {
202
+ id: string;
203
+ title?: string;
204
+ stops: TourStopDef[];
205
+ }
206
+ //# sourceMappingURL=onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/types/onboarding.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export interface Organization {
6
6
  logoUrl?: string;
7
7
  verticalId?: string;
8
8
  plan?: string;
9
+ /**
10
+ * When the free trial closes. Written by the database at creation and never
11
+ * by the client — see the admin's billing/trial.ts. Absent on tenants that
12
+ * predate trials, which is read as "no trial", not as an expired one.
13
+ */
14
+ trialEndsAt?: string;
9
15
  settings?: Record<string, unknown>;
10
16
  createdAt: string;
11
17
  updatedAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { EntityDef } from './crud';
5
5
  import type { AnalyticsCardDef, ResolvedAnalyticsCard } from './analytics';
6
6
  import type { FeatureDeclaration, PermissionAction } from './permissions';
7
7
  import type { LimitDeclaration } from './entitlements';
8
+ import type { OnboardingProgramDef, ResolvedOnboardingProgram } from './onboarding';
8
9
  import type { ConnectorDefinition } from '../integrations';
9
10
  import type { DataProvider } from '../data/types';
10
11
  export type VerticalId = 'beauty' | 'food' | 'health' | 'services' | 'retail' | 'education' | (string & {});
@@ -495,6 +496,13 @@ export interface PluginOnboarding {
495
496
  componentId?: string;
496
497
  title?: string;
497
498
  description?: string;
499
+ /**
500
+ * What "up and running" means for this module: the steps a new tenant has to
501
+ * finish before it is live, plus the instructions the agent follows while
502
+ * guiding them. Seeded as tasks, shown in the getting-started checklist, and
503
+ * ticked from either side. See {@link OnboardingProgramDef}.
504
+ */
505
+ program?: OnboardingProgramDef;
498
506
  }
499
507
  /**
500
508
  * A health check a plugin contributes to the diagnostics / boot report surfaced by
@@ -676,5 +684,8 @@ export interface PluginRuntime {
676
684
  pluginFeatures: FeatureDeclaration[];
677
685
  /** Limit declarations aggregated from every active plugin's `declaredLimits`. */
678
686
  pluginLimits: LimitDeclaration[];
687
+ /** Activation programs declared by ACTIVE plugins, ordered. A disabled module
688
+ * asks nothing of a new tenant, so its steps drop off the checklist too. */
689
+ onboardingPrograms: ResolvedOnboardingProgram[];
679
690
  }
680
691
  //# sourceMappingURL=plugins.d.ts.map