@semacode/cli 2.3.1 → 3.0.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.
Files changed (250) hide show
  1. package/README.md +265 -217
  2. package/dist/agentContextPack.js +14 -10
  3. package/dist/agentEntryPoints.d.ts +5 -0
  4. package/dist/agentEntryPoints.js +567 -557
  5. package/dist/angular-consumer-standalone.js +1 -1
  6. package/dist/bin.d.ts +6 -0
  7. package/dist/bin.js +130 -0
  8. package/dist/cliArgs.js +4 -4
  9. package/dist/cliControlError.d.ts +12 -0
  10. package/dist/cliControlError.js +47 -0
  11. package/dist/cliGrammar.d.ts +11 -0
  12. package/dist/cliGrammar.js +551 -0
  13. package/dist/cliHelp.d.ts +13 -0
  14. package/dist/cliHelp.js +19 -0
  15. package/dist/cliHelpTexto.d.ts +3 -0
  16. package/dist/cliHelpTexto.js +168 -0
  17. package/dist/cliRuntime.d.ts +2 -0
  18. package/dist/cliRuntime.js +31 -0
  19. package/dist/comandos.js +9 -22
  20. package/dist/contexto.js +5 -5
  21. package/dist/dev/index.d.ts +1 -0
  22. package/dist/dev/index.js +51 -9
  23. package/dist/discovery/catalog.js +3 -3
  24. package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
  25. package/dist/distribuicao/filesystemGlobal.js +701 -0
  26. package/dist/distribuicao/index.d.ts +7 -0
  27. package/dist/distribuicao/index.js +227 -0
  28. package/dist/distribuicao/launcherGlobal.d.ts +53 -0
  29. package/dist/distribuicao/launcherGlobal.js +643 -0
  30. package/dist/distribuicao/launcherWindows.d.ts +28 -0
  31. package/dist/distribuicao/launcherWindows.js +326 -0
  32. package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
  33. package/dist/distribuicao/lockContextGlobal.js +17 -0
  34. package/dist/distribuicao/lockGlobal.d.ts +6 -0
  35. package/dist/distribuicao/lockGlobal.js +520 -0
  36. package/dist/distribuicao/skillGlobal.d.ts +48 -0
  37. package/dist/distribuicao/skillGlobal.js +652 -0
  38. package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
  39. package/dist/distribuicao/skillIntentPolicy.js +115 -0
  40. package/dist/distribuicao/tipos.d.ts +50 -0
  41. package/dist/distribuicao/tipos.js +10 -0
  42. package/dist/distribuicao/versaoSemantica.d.ts +3 -0
  43. package/dist/distribuicao/versaoSemantica.js +62 -0
  44. package/dist/drift.part01.d.ts +26 -24
  45. package/dist/drift.part01.js +2 -1
  46. package/dist/drift.part04.d.ts +12 -3
  47. package/dist/drift.part04.js +88 -17
  48. package/dist/drift.part05.d.ts +2 -2
  49. package/dist/drift.part05.js +8 -6
  50. package/dist/drift.part06.d.ts +2 -2
  51. package/dist/drift.part06.js +113 -26
  52. package/dist/drift.part07.d.ts +11 -11
  53. package/dist/drift.part07.js +261 -265
  54. package/dist/drift.part08.d.ts +2 -2
  55. package/dist/drift.part08.js +35 -26
  56. package/dist/drift.part11.js +238 -56
  57. package/dist/drift.part12.d.ts +1 -1
  58. package/dist/drift.part12.js +193 -21
  59. package/dist/drift.part13.d.ts +20 -39
  60. package/dist/drift.part13.js +601 -647
  61. package/dist/drift.part14.js +21 -7
  62. package/dist/driftCacheCas.d.ts +43 -0
  63. package/dist/driftCacheCas.js +351 -0
  64. package/dist/driftCacheFilesystem.d.ts +64 -0
  65. package/dist/driftCacheFilesystem.js +313 -0
  66. package/dist/driftCacheModes.d.ts +38 -0
  67. package/dist/driftCacheModes.js +147 -0
  68. package/dist/driftCacheStore.d.ts +80 -0
  69. package/dist/driftCacheStore.js +603 -0
  70. package/dist/driftCatalogo.d.ts +2 -28
  71. package/dist/driftCatalogo.js +143 -284
  72. package/dist/driftEscopo.d.ts +1 -3
  73. package/dist/driftEscopo.js +235 -151
  74. package/dist/driftEscopoReferencias.d.ts +5 -1
  75. package/dist/driftEscopoReferencias.js +375 -28
  76. package/dist/driftOrcamento.d.ts +0 -6
  77. package/dist/driftOrcamento.js +2 -1
  78. package/dist/execucoesExternas.js +19 -5
  79. package/dist/geracaoCore.js +4 -6
  80. package/dist/iaPrompts.d.ts +3 -3
  81. package/dist/iaPrompts.js +312 -313
  82. package/dist/index.d.ts +4 -1
  83. package/dist/index.js +6 -25
  84. package/dist/index.part01.d.ts +20 -28
  85. package/dist/index.part01.js +16 -237
  86. package/dist/index.part02.js +36 -22
  87. package/dist/index.part03.d.ts +24 -2
  88. package/dist/index.part03.js +83 -19
  89. package/dist/index.part04.d.ts +10 -2
  90. package/dist/index.part04.js +142 -120
  91. package/dist/index.part05.js +80 -78
  92. package/dist/index.part06.js +34 -17
  93. package/dist/index.part07.js +7 -3
  94. package/dist/index.part08.d.ts +1 -1
  95. package/dist/index.part08.js +22 -27
  96. package/dist/initCommand.js +5 -1
  97. package/dist/initTemplatesBase.js +81 -79
  98. package/dist/pipelineConteudo/command.d.ts +1 -0
  99. package/dist/pipelineConteudo/command.js +9 -2
  100. package/dist/pipelineConteudo/help.d.ts +2 -0
  101. package/dist/pipelineConteudo/help.js +33 -0
  102. package/dist/profileAuthorCommand.js +3 -7
  103. package/dist/profileCommand.js +3 -7
  104. package/dist/projetoCarregar.js +35 -17
  105. package/dist/projetoCatalogo.d.ts +1 -0
  106. package/dist/projetoCatalogo.js +64 -25
  107. package/dist/projetoOrigens.d.ts +2 -0
  108. package/dist/projetoOrigens.js +65 -9
  109. package/dist/projetoTipos.d.ts +1 -0
  110. package/dist/resultadoCli.d.ts +20 -0
  111. package/dist/resultadoCli.js +57 -0
  112. package/dist/saidaCli.d.ts +35 -0
  113. package/dist/saidaCli.js +118 -0
  114. package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
  115. package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
  116. package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
  117. package/dist/sistemasInterativos/engineObservation.js +438 -0
  118. package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
  119. package/dist/sistemasInterativos/jobOrchestration.js +204 -0
  120. package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
  121. package/dist/sistemasInterativos/operationPrimitives.js +194 -0
  122. package/dist/sistemasInterativos/operations.d.ts +4 -39
  123. package/dist/sistemasInterativos/operations.js +5 -1164
  124. package/dist/skillCommand.d.ts +5 -0
  125. package/dist/skillCommand.js +88 -0
  126. package/docs/README.md +34 -30
  127. package/docs/ai-integration.md +25 -12
  128. package/docs/ai-onboarding.md +37 -18
  129. package/docs/ai-workflow.md +9 -7
  130. package/docs/cli.md +125 -7
  131. package/docs/commands.md +41 -20
  132. package/docs/deploy.md +21 -8
  133. package/docs/descoberta-capacidades.md +106 -106
  134. package/docs/documentation.md +49 -39
  135. package/docs/drift-cache.md +108 -0
  136. package/docs/getting-started.md +43 -18
  137. package/docs/pipeline-conteudo.md +246 -246
  138. package/docs/profiles.md +54 -54
  139. package/docs/repositories.md +19 -2
  140. package/docs/rollback.md +15 -8
  141. package/docs/security.md +25 -3
  142. package/docs/sistemas-interativos.md +379 -374
  143. package/docs/testing.md +139 -40
  144. package/exemplos/pipeline-conteudo/README.md +44 -44
  145. package/exemplos/pipeline-conteudo/alvos.json +23 -23
  146. package/exemplos/pipeline-conteudo/definicao.json +136 -136
  147. package/exemplos/profile_simulation.sema +211 -211
  148. package/exemplos/sistemas-interativos/README.md +100 -100
  149. package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
  150. package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
  151. package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
  152. package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
  153. package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
  154. package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
  155. package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
  156. package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
  157. package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
  158. package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
  159. package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
  160. package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
  161. package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
  162. package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
  163. package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
  164. package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
  165. package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
  166. package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
  167. package/exemplos/sistemas-interativos/game-2d.json +83 -83
  168. package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
  169. package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
  170. package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
  171. package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
  172. package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
  173. package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
  174. package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
  175. package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
  176. package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
  177. package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
  178. package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
  179. package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
  180. package/node_modules/@sema/gerador-cpp/package.json +1 -1
  181. package/node_modules/@sema/gerador-dotnet/package.json +1 -1
  182. package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
  183. package/node_modules/@sema/gerador-php/dist/index.js +113 -113
  184. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
  185. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
  186. package/package.json +9 -4
  187. package/scripts/postinstall.mjs +148 -0
  188. package/skills/sema/SKILL.md +199 -0
  189. package/skills/sema/agents/openai.yaml +4 -0
  190. package/dist/driftCache.d.ts +0 -49
  191. package/dist/driftCache.js +0 -311
  192. package/dist/driftCacheIncremental.d.ts +0 -98
  193. package/dist/driftCacheIncremental.js +0 -596
  194. package/dist/driftCatalogoPersistente.d.ts +0 -8
  195. package/dist/driftCatalogoPersistente.js +0 -77
  196. package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
  197. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  198. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
  199. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
  200. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  201. package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
  202. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  203. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  204. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  205. package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
  206. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  207. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
  208. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
  209. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  210. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
  211. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
  212. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
  213. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  214. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  215. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
  216. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
  217. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  218. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
  219. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
  220. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  221. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  222. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
  223. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
  224. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
  225. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  226. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  227. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  228. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
  229. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  230. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
  231. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
  232. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
  233. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
  234. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  235. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  236. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
  237. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
  238. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
  239. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
  240. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
  241. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
  242. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
  243. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
  244. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  245. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
  246. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
  247. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
  248. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  249. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  250. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import type { OpcoesAmbienteDistribuicaoGlobal, ResultadoDistribuicaoGlobal } from "./tipos.js";
2
+ export { sincronizarLauncherGlobal, statusLauncherGlobal, } from "./launcherGlobal.js";
3
+ export { ARQUIVOS_SKILL_SEMA_GERENCIADOS, NOME_RECIBO_SKILL_SEMA, sincronizarSkillGlobal, statusSkillGlobal, } from "./skillGlobal.js";
4
+ export { ESTADOS_DISTRIBUICAO_GLOBAL, } from "./tipos.js";
5
+ export type { CodigoDiagnosticoDistribuicaoGlobal, EstadoDistribuicaoGlobal, IdentificadorDestinoSkillGlobal, OpcoesAmbienteDistribuicaoGlobal, ResultadoDestinoSkillGlobal, ResultadoDistribuicaoGlobal, ResultadoLauncherGlobal, ResultadoSkillGlobal, } from "./tipos.js";
6
+ export declare function statusDistribuicaoGlobal(opcoes?: OpcoesAmbienteDistribuicaoGlobal): Promise<ResultadoDistribuicaoGlobal>;
7
+ export declare function sincronizarDistribuicaoGlobal(opcoes?: OpcoesAmbienteDistribuicaoGlobal): Promise<ResultadoDistribuicaoGlobal>;
@@ -0,0 +1,227 @@
1
+ // SEMA-GOVERNED: sema.produto.distribuicao_global
2
+ // Descrição: expõe status e sincronização separados ou combinados da distribuição global local.
3
+ import { capturarSnapshotLauncherGlobalTransacao, confirmarSnapshotLauncherGlobalTransacao, restaurarSnapshotLauncherGlobalTransacao, sincronizarLauncherGlobalTransacional, statusLauncherGlobal, } from "./launcherGlobal.js";
4
+ import { capturarSnapshotSkillGlobalTransacao, restaurarSnapshotSkillGlobalTransacao, sincronizarSkillGlobalTransacional, statusSkillGlobal, } from "./skillGlobal.js";
5
+ import { comLockDistribuicaoGlobal } from "./lockGlobal.js";
6
+ import { falhaParaResultado } from "./filesystemGlobal.js";
7
+ export { sincronizarLauncherGlobal, statusLauncherGlobal, } from "./launcherGlobal.js";
8
+ export { ARQUIVOS_SKILL_SEMA_GERENCIADOS, NOME_RECIBO_SKILL_SEMA, sincronizarSkillGlobal, statusSkillGlobal, } from "./skillGlobal.js";
9
+ export { ESTADOS_DISTRIBUICAO_GLOBAL, } from "./tipos.js";
10
+ function prioridadeEstado(estado) {
11
+ return {
12
+ READY: 0,
13
+ MISSING: 1,
14
+ STALE: 2,
15
+ BROKEN_TARGET: 3,
16
+ PERMISSION_DENIED: 4,
17
+ }[estado];
18
+ }
19
+ function combinar(launcher, skill) {
20
+ return {
21
+ estado: prioridadeEstado(launcher.estado) >= prioridadeEstado(skill.estado)
22
+ ? launcher.estado
23
+ : skill.estado,
24
+ alterado: launcher.alterado || skill.alterado,
25
+ launcher,
26
+ skill,
27
+ };
28
+ }
29
+ function resultadoBloqueiaMutacao(resultado) {
30
+ return resultado.launcher.estado === "BROKEN_TARGET"
31
+ || resultado.launcher.estado === "PERMISSION_DENIED"
32
+ || resultado.skill.destinos.some((destino) => (destino.estado === "BROKEN_TARGET"
33
+ || destino.estado === "PERMISSION_DENIED"));
34
+ }
35
+ function semAlteracao(resultado) {
36
+ return {
37
+ ...resultado,
38
+ alterado: false,
39
+ launcher: { ...resultado.launcher, alterado: false },
40
+ skill: {
41
+ ...resultado.skill,
42
+ alterado: false,
43
+ destinos: resultado.skill.destinos.map((destino) => ({ ...destino, alterado: false })),
44
+ },
45
+ };
46
+ }
47
+ function falhaLock(atual, codigo, alterado) {
48
+ return {
49
+ estado: "BROKEN_TARGET",
50
+ alterado,
51
+ launcher: {
52
+ ...atual.launcher,
53
+ estado: "BROKEN_TARGET",
54
+ alterado,
55
+ codigo,
56
+ recibo_valido: false,
57
+ independente_path: false,
58
+ },
59
+ skill: {
60
+ ...atual.skill,
61
+ estado: "BROKEN_TARGET",
62
+ alterado,
63
+ destino_agents: "BROKEN_TARGET",
64
+ destino_claude: atual.skill.espelho_claude_detectado
65
+ ? "BROKEN_TARGET"
66
+ : "NOT_DETECTED",
67
+ ownership_valido: false,
68
+ digest_alinhado: false,
69
+ destinos: atual.skill.destinos.map((destino) => ({
70
+ ...destino,
71
+ estado: "BROKEN_TARGET",
72
+ alterado,
73
+ codigo,
74
+ })),
75
+ },
76
+ };
77
+ }
78
+ function resultadoInteiramenteReady(resultado) {
79
+ return resultado.estado === "READY"
80
+ && resultado.launcher.estado === "READY"
81
+ && resultado.skill.estado === "READY"
82
+ && resultado.skill.destinos.length > 0
83
+ && resultado.skill.destinos.every((destino) => destino.estado === "READY");
84
+ }
85
+ function comAlteracoesConfirmadas(final, launcherSincronizado, skillSincronizada) {
86
+ const alteracoesSkill = new Map(skillSincronizada.destinos.map((destino) => [
87
+ destino.id,
88
+ destino.alterado,
89
+ ]));
90
+ return combinar({
91
+ ...final.launcher,
92
+ alterado: launcherSincronizado.alterado,
93
+ }, {
94
+ ...final.skill,
95
+ alterado: skillSincronizada.alterado,
96
+ destinos: final.skill.destinos.map((destino) => ({
97
+ ...destino,
98
+ alterado: alteracoesSkill.get(destino.id) ?? false,
99
+ })),
100
+ });
101
+ }
102
+ function falhaRollback(anterior, componentes) {
103
+ const launcher = componentes.includes("launcher")
104
+ ? {
105
+ ...anterior.launcher,
106
+ estado: "BROKEN_TARGET",
107
+ alterado: true,
108
+ codigo: "ROLLBACK_FALHOU",
109
+ recibo_valido: false,
110
+ independente_path: false,
111
+ }
112
+ : { ...anterior.launcher, alterado: false };
113
+ const skill = componentes.includes("skill")
114
+ ? {
115
+ ...anterior.skill,
116
+ estado: "BROKEN_TARGET",
117
+ alterado: true,
118
+ destino_agents: "BROKEN_TARGET",
119
+ destino_claude: anterior.skill.espelho_claude_detectado
120
+ ? "BROKEN_TARGET"
121
+ : "NOT_DETECTED",
122
+ ownership_valido: false,
123
+ digest_alinhado: false,
124
+ destinos: anterior.skill.destinos.map((destino) => ({
125
+ ...destino,
126
+ estado: "BROKEN_TARGET",
127
+ alterado: true,
128
+ codigo: "ROLLBACK_FALHOU",
129
+ })),
130
+ }
131
+ : {
132
+ ...anterior.skill,
133
+ alterado: false,
134
+ destinos: anterior.skill.destinos.map((destino) => ({ ...destino, alterado: false })),
135
+ };
136
+ return combinar(launcher, skill);
137
+ }
138
+ async function tentarRollback(snapshotLauncher, snapshotSkill) {
139
+ const falhas = [];
140
+ if (snapshotLauncher) {
141
+ try {
142
+ await restaurarSnapshotLauncherGlobalTransacao(snapshotLauncher);
143
+ }
144
+ catch {
145
+ falhas.push("launcher");
146
+ }
147
+ }
148
+ if (snapshotSkill) {
149
+ try {
150
+ await restaurarSnapshotSkillGlobalTransacao(snapshotSkill);
151
+ }
152
+ catch {
153
+ falhas.push("skill");
154
+ }
155
+ }
156
+ return falhas;
157
+ }
158
+ export async function statusDistribuicaoGlobal(opcoes = {}) {
159
+ const [launcher, skill] = await Promise.all([
160
+ statusLauncherGlobal(opcoes),
161
+ statusSkillGlobal(opcoes),
162
+ ]);
163
+ return combinar(launcher, skill);
164
+ }
165
+ async function sincronizarDistribuicaoGlobalSemLock(opcoes = {}) {
166
+ const diagnosticoInicial = await statusDistribuicaoGlobal(opcoes);
167
+ if (resultadoBloqueiaMutacao(diagnosticoInicial))
168
+ return semAlteracao(diagnosticoInicial);
169
+ let snapshotLauncher;
170
+ let snapshotSkill;
171
+ try {
172
+ [snapshotLauncher, snapshotSkill] = await Promise.all([
173
+ capturarSnapshotLauncherGlobalTransacao(opcoes),
174
+ capturarSnapshotSkillGlobalTransacao(opcoes),
175
+ ]);
176
+ }
177
+ catch {
178
+ return semAlteracao(await statusDistribuicaoGlobal(opcoes));
179
+ }
180
+ const skill = await sincronizarSkillGlobalTransacional(snapshotSkill);
181
+ if (skill.estado !== "READY") {
182
+ const falhasRollback = await tentarRollback(undefined, snapshotSkill);
183
+ if (falhasRollback.length > 0) {
184
+ return falhaRollback(await statusDistribuicaoGlobal(opcoes), falhasRollback);
185
+ }
186
+ return semAlteracao(await statusDistribuicaoGlobal(opcoes));
187
+ }
188
+ const launcher = await sincronizarLauncherGlobalTransacional(snapshotLauncher);
189
+ if (launcher.estado !== "READY") {
190
+ const falhasRollback = await tentarRollback(snapshotLauncher, snapshotSkill);
191
+ if (falhasRollback.length > 0) {
192
+ return falhaRollback(await statusDistribuicaoGlobal(opcoes), falhasRollback);
193
+ }
194
+ return semAlteracao(await statusDistribuicaoGlobal(opcoes));
195
+ }
196
+ const final = await statusDistribuicaoGlobal(opcoes);
197
+ if (!resultadoInteiramenteReady(final)) {
198
+ const falhasRollback = await tentarRollback(snapshotLauncher, snapshotSkill);
199
+ if (falhasRollback.length > 0) {
200
+ return falhaRollback(await statusDistribuicaoGlobal(opcoes), falhasRollback);
201
+ }
202
+ return semAlteracao(await statusDistribuicaoGlobal(opcoes));
203
+ }
204
+ const launcherConfirmado = await confirmarSnapshotLauncherGlobalTransacao(snapshotLauncher);
205
+ if (launcherConfirmado.estado !== "READY") {
206
+ const falhasRollback = await tentarRollback(snapshotLauncher, snapshotSkill);
207
+ if (falhasRollback.length > 0) {
208
+ return falhaRollback(await statusDistribuicaoGlobal(opcoes), falhasRollback);
209
+ }
210
+ return semAlteracao(await statusDistribuicaoGlobal(opcoes));
211
+ }
212
+ return comAlteracoesConfirmadas(combinar(launcherConfirmado, final.skill), { ...launcher, alterado: launcher.alterado || launcherConfirmado.alterado }, skill);
213
+ }
214
+ export async function sincronizarDistribuicaoGlobal(opcoes = {}) {
215
+ try {
216
+ return await comLockDistribuicaoGlobal(opcoes, async ({ diretorioUsuario }) => (sincronizarDistribuicaoGlobalSemLock({ ...opcoes, diretorioUsuario })));
217
+ }
218
+ catch (erro) {
219
+ const falha = falhaParaResultado(erro);
220
+ if (["LOCK_PERDIDO", "LOCK_TIMEOUT", "CONTEUDO_NAO_GERENCIADO", "ROLLBACK_FALHOU"]
221
+ .includes(falha.codigo)) {
222
+ return falhaLock(await statusDistribuicaoGlobal(opcoes), falha.codigo, falha.codigo === "LOCK_PERDIDO" || falha.codigo === "ROLLBACK_FALHOU");
223
+ }
224
+ return semAlteracao(await statusDistribuicaoGlobal(opcoes));
225
+ }
226
+ }
227
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,53 @@
1
+ import { type ArtefatosLauncherWindows } from "./launcherWindows.js";
2
+ import type { OpcoesAmbienteDistribuicaoGlobal, ResultadoLauncherGlobal } from "./tipos.js";
3
+ interface CompanionAtual {
4
+ caminho: string;
5
+ identidade: {
6
+ dev: bigint;
7
+ ino: bigint;
8
+ };
9
+ conteudo: Buffer;
10
+ }
11
+ interface ReciboLauncherAtual {
12
+ versaoPacote: string;
13
+ executavelNode: string;
14
+ entrypoint: string;
15
+ nomeCompanion?: string;
16
+ }
17
+ interface AmbienteLauncher {
18
+ plataforma: NodeJS.Platform;
19
+ homeReal: string;
20
+ executavelNode: string;
21
+ raizPacote: string;
22
+ versaoPacote: string;
23
+ targetCli: string;
24
+ destino: string;
25
+ destinoPowerShell?: string;
26
+ destinoWrapper?: string;
27
+ destinoAnchor?: string;
28
+ destinoVirtual: ResultadoLauncherGlobal["destino_simbolico"];
29
+ conteudo: string;
30
+ windows?: ArtefatosLauncherWindows;
31
+ }
32
+ interface DiagnosticoLauncherInterno {
33
+ resultado: ResultadoLauncherGlobal;
34
+ recibo?: ReciboLauncherAtual;
35
+ companionAtual?: CompanionAtual;
36
+ }
37
+ export declare function statusLauncherGlobal(opcoes?: OpcoesAmbienteDistribuicaoGlobal): Promise<ResultadoLauncherGlobal>;
38
+ export declare function sincronizarLauncherGlobal(opcoes?: OpcoesAmbienteDistribuicaoGlobal): Promise<ResultadoLauncherGlobal>;
39
+ /** Snapshot opaco usado somente pelo coordenador para compensação local. */
40
+ export interface SnapshotLauncherGlobalTransacao {
41
+ readonly ambiente: AmbienteLauncher;
42
+ readonly diagnosticoAntes: DiagnosticoLauncherInterno;
43
+ readonly launcherAntes?: Buffer;
44
+ readonly powerShellAntes?: Buffer;
45
+ readonly wrapperAntes?: Buffer;
46
+ readonly anchorAntes?: Buffer;
47
+ readonly companionDesejadoExistia: boolean;
48
+ }
49
+ export declare function capturarSnapshotLauncherGlobalTransacao(opcoes?: OpcoesAmbienteDistribuicaoGlobal): Promise<SnapshotLauncherGlobalTransacao>;
50
+ export declare function sincronizarLauncherGlobalTransacional(snapshot: SnapshotLauncherGlobalTransacao): Promise<ResultadoLauncherGlobal>;
51
+ export declare function restaurarSnapshotLauncherGlobalTransacao(snapshot: SnapshotLauncherGlobalTransacao): Promise<void>;
52
+ export declare function confirmarSnapshotLauncherGlobalTransacao(snapshot: SnapshotLauncherGlobalTransacao): Promise<ResultadoLauncherGlobal>;
53
+ export {};