@semacode/cli 1.5.30 → 1.5.32

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 (176) hide show
  1. package/AGENTS.md +294 -0
  2. package/AGENT_CONTEXT_PACK.json +164 -0
  3. package/LICENSE +22 -0
  4. package/README.md +85 -144
  5. package/SEMA_BRIEF.curto.txt +11 -0
  6. package/SEMA_BRIEF.md +616 -0
  7. package/SEMA_BRIEF.micro.txt +9 -0
  8. package/SEMA_INDEX.json +9393 -0
  9. package/dist/billing/index.d.ts +46 -0
  10. package/dist/billing/index.js +143 -0
  11. package/dist/billing/index.js.map +1 -0
  12. package/dist/comandos.js +33 -0
  13. package/dist/comandos.js.map +1 -1
  14. package/dist/controleComercialSupabase.d.ts +7 -0
  15. package/dist/controleComercialSupabase.js +6 -0
  16. package/dist/controleComercialSupabase.js.map +1 -0
  17. package/dist/controleComercialSupabaseAdmin.d.ts +7 -0
  18. package/dist/controleComercialSupabaseAdmin.js +138 -0
  19. package/dist/controleComercialSupabaseAdmin.js.map +1 -0
  20. package/dist/controleComercialSupabaseCadastro.d.ts +4 -0
  21. package/dist/controleComercialSupabaseCadastro.js +85 -0
  22. package/dist/controleComercialSupabaseCadastro.js.map +1 -0
  23. package/dist/controleComercialSupabaseConstantes.d.ts +28 -0
  24. package/dist/controleComercialSupabaseConstantes.js +44 -0
  25. package/dist/controleComercialSupabaseConstantes.js.map +1 -0
  26. package/dist/controleComercialSupabaseConsumo.d.ts +2 -0
  27. package/dist/controleComercialSupabaseConsumo.js +77 -0
  28. package/dist/controleComercialSupabaseConsumo.js.map +1 -0
  29. package/dist/controleComercialSupabaseConta.d.ts +11 -0
  30. package/dist/controleComercialSupabaseConta.js +157 -0
  31. package/dist/controleComercialSupabaseConta.js.map +1 -0
  32. package/dist/controleComercialSupabaseProfiles.d.ts +4 -0
  33. package/dist/controleComercialSupabaseProfiles.js +55 -0
  34. package/dist/controleComercialSupabaseProfiles.js.map +1 -0
  35. package/dist/controleComercialSupabaseTipos.d.ts +3 -0
  36. package/dist/controleComercialSupabaseTipos.js +2 -0
  37. package/dist/controleComercialSupabaseTipos.js.map +1 -0
  38. package/dist/controleComercialSupabaseTiposAdmin.d.ts +152 -0
  39. package/dist/controleComercialSupabaseTiposAdmin.js +2 -0
  40. package/dist/controleComercialSupabaseTiposAdmin.js.map +1 -0
  41. package/dist/controleComercialSupabaseTiposBase.d.ts +169 -0
  42. package/dist/controleComercialSupabaseTiposBase.js +2 -0
  43. package/dist/controleComercialSupabaseTiposBase.js.map +1 -0
  44. package/dist/controleComercialSupabaseTiposConta.d.ts +220 -0
  45. package/dist/controleComercialSupabaseTiposConta.js +2 -0
  46. package/dist/controleComercialSupabaseTiposConta.js.map +1 -0
  47. package/dist/dev/index.d.ts +18 -0
  48. package/dist/dev/index.js +143 -0
  49. package/dist/dev/index.js.map +1 -0
  50. package/dist/index.js +222 -46
  51. package/dist/index.js.map +1 -1
  52. package/dist/init/index.d.ts +23 -0
  53. package/dist/init/index.js +112 -0
  54. package/dist/init/index.js.map +1 -0
  55. package/dist/init/templates.d.ts +11 -0
  56. package/dist/init/templates.js +660 -0
  57. package/dist/init/templates.js.map +1 -0
  58. package/dist/runnerValidacaoRemota.d.ts +9 -0
  59. package/dist/runnerValidacaoRemota.js +9 -0
  60. package/dist/runnerValidacaoRemota.js.map +1 -0
  61. package/dist/runnerValidacaoRemotaBateria.d.ts +10 -0
  62. package/dist/runnerValidacaoRemotaBateria.js +115 -0
  63. package/dist/runnerValidacaoRemotaBateria.js.map +1 -0
  64. package/dist/runnerValidacaoRemotaCli.d.ts +4 -0
  65. package/dist/runnerValidacaoRemotaCli.js +86 -0
  66. package/dist/runnerValidacaoRemotaCli.js.map +1 -0
  67. package/dist/runnerValidacaoRemotaComandos.d.ts +7 -0
  68. package/dist/runnerValidacaoRemotaComandos.js +123 -0
  69. package/dist/runnerValidacaoRemotaComandos.js.map +1 -0
  70. package/dist/runnerValidacaoRemotaEscopo.d.ts +4 -0
  71. package/dist/runnerValidacaoRemotaEscopo.js +79 -0
  72. package/dist/runnerValidacaoRemotaEscopo.js.map +1 -0
  73. package/dist/runnerValidacaoRemotaExecucao.d.ts +2 -0
  74. package/dist/runnerValidacaoRemotaExecucao.js +102 -0
  75. package/dist/runnerValidacaoRemotaExecucao.js.map +1 -0
  76. package/dist/runnerValidacaoRemotaRelatorio.d.ts +3 -0
  77. package/dist/runnerValidacaoRemotaRelatorio.js +93 -0
  78. package/dist/runnerValidacaoRemotaRelatorio.js.map +1 -0
  79. package/dist/runnerValidacaoRemotaServidor.d.ts +3 -0
  80. package/dist/runnerValidacaoRemotaServidor.js +157 -0
  81. package/dist/runnerValidacaoRemotaServidor.js.map +1 -0
  82. package/dist/runnerValidacaoRemotaSnapshot.d.ts +10 -0
  83. package/dist/runnerValidacaoRemotaSnapshot.js +217 -0
  84. package/dist/runnerValidacaoRemotaSnapshot.js.map +1 -0
  85. package/dist/runnerValidacaoRemotaTipos.d.ts +158 -0
  86. package/dist/runnerValidacaoRemotaTipos.js +35 -0
  87. package/dist/runnerValidacaoRemotaTipos.js.map +1 -0
  88. package/dist/runnerValidacaoRemotaUtil.d.ts +3 -0
  89. package/dist/runnerValidacaoRemotaUtil.js +18 -0
  90. package/dist/runnerValidacaoRemotaUtil.js.map +1 -0
  91. package/dist/runnerValidacaoRemotaWorkspace.d.ts +2 -0
  92. package/dist/runnerValidacaoRemotaWorkspace.js +110 -0
  93. package/dist/runnerValidacaoRemotaWorkspace.js.map +1 -0
  94. package/dist/sync/index.d.ts +24 -0
  95. package/dist/sync/index.js +174 -0
  96. package/dist/sync/index.js.map +1 -0
  97. package/docs/AGENT_STARTER.md +109 -0
  98. package/docs/api.md +82 -0
  99. package/docs/cli.md +93 -0
  100. package/docs/como-ensinar-a-sema-para-ia.md +30 -0
  101. package/docs/deploy.md +45 -0
  102. package/docs/documentacao.md +88 -0
  103. package/docs/env.md +115 -0
  104. package/docs/extensao-vscode.md +42 -0
  105. package/docs/fluxo-pratico-ia-sema.md +187 -0
  106. package/docs/instalacao-e-primeiro-uso.md +48 -0
  107. package/docs/integracao-com-ia.md +24 -0
  108. package/docs/mcp.md +48 -0
  109. package/docs/pagamento-ponta-a-ponta.md +171 -0
  110. package/docs/persistencia-vendor-first.md +151 -0
  111. package/docs/prompt-base-ia-sema.md +111 -0
  112. package/docs/repositories.md +69 -0
  113. package/docs/rollback.md +24 -0
  114. package/docs/seguranca.md +126 -0
  115. package/docs/sintaxe.md +218 -0
  116. package/exemplos/profile_conversas.sema +165 -0
  117. package/llms-full.txt +35 -0
  118. package/llms.txt +18 -0
  119. package/node_modules/@sema/gerador-css/package.json +7 -14
  120. package/node_modules/@sema/gerador-dart/package.json +7 -14
  121. package/node_modules/@sema/gerador-html/package.json +7 -14
  122. package/node_modules/@sema/gerador-javascript/package.json +7 -14
  123. package/node_modules/@sema/gerador-lua/package.json +7 -14
  124. package/node_modules/@sema/gerador-python/package.json +7 -14
  125. package/node_modules/@sema/gerador-typescript/package.json +7 -14
  126. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.d.ts +22 -0
  127. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +97 -0
  128. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -0
  129. package/node_modules/@sema/nucleo/dist/index.d.ts +1 -0
  130. package/node_modules/@sema/nucleo/dist/index.js +1 -0
  131. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  132. package/node_modules/@sema/nucleo/package.json +7 -10
  133. package/node_modules/@sema/padroes/package.json +7 -10
  134. package/package.json +75 -74
  135. package/exemplos/.prepack-generated +0 -1
  136. package/node_modules/@sema/gerador-css/src/index.ts +0 -605
  137. package/node_modules/@sema/gerador-css/tsconfig.json +0 -13
  138. package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +0 -1
  139. package/node_modules/@sema/gerador-dart/src/index.ts +0 -52
  140. package/node_modules/@sema/gerador-dart/tsconfig.json +0 -13
  141. package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +0 -1
  142. package/node_modules/@sema/gerador-html/src/index.ts +0 -185
  143. package/node_modules/@sema/gerador-html/tsconfig.json +0 -13
  144. package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +0 -1
  145. package/node_modules/@sema/gerador-javascript/src/index.ts +0 -461
  146. package/node_modules/@sema/gerador-javascript/tsconfig.json +0 -13
  147. package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +0 -1
  148. package/node_modules/@sema/gerador-lua/src/index.ts +0 -359
  149. package/node_modules/@sema/gerador-lua/tsconfig.json +0 -13
  150. package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +0 -1
  151. package/node_modules/@sema/gerador-python/src/index.ts +0 -850
  152. package/node_modules/@sema/gerador-python/tsconfig.json +0 -13
  153. package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +0 -1
  154. package/node_modules/@sema/gerador-typescript/src/index.ts +0 -876
  155. package/node_modules/@sema/gerador-typescript/tsconfig.json +0 -13
  156. package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +0 -1
  157. package/node_modules/@sema/nucleo/src/ast/tipos.ts +0 -207
  158. package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +0 -43
  159. package/node_modules/@sema/nucleo/src/formatador/index.ts +0 -530
  160. package/node_modules/@sema/nucleo/src/index.ts +0 -183
  161. package/node_modules/@sema/nucleo/src/ir/conversor.ts +0 -1037
  162. package/node_modules/@sema/nucleo/src/ir/modelos.ts +0 -403
  163. package/node_modules/@sema/nucleo/src/lexer/lexer.ts +0 -166
  164. package/node_modules/@sema/nucleo/src/lexer/tokens.ts +0 -79
  165. package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +0 -41
  166. package/node_modules/@sema/nucleo/src/parser/parser.ts +0 -936
  167. package/node_modules/@sema/nucleo/src/persistencia/contratos.ts +0 -379
  168. package/node_modules/@sema/nucleo/src/semantico/analisador.ts +0 -3126
  169. package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +0 -665
  170. package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +0 -362
  171. package/node_modules/@sema/nucleo/src/util/arquivos.ts +0 -28
  172. package/node_modules/@sema/nucleo/tsconfig.json +0 -9
  173. package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +0 -1
  174. package/node_modules/@sema/padroes/src/index.ts +0 -382
  175. package/node_modules/@sema/padroes/tsconfig.json +0 -9
  176. package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,169 @@
1
+ export type SemaPlanId = "free" | "pro" | "team" | "agency";
2
+ export type SemaAuthProvider = "email_password" | "google" | "facebook" | "microsoft";
3
+ export interface SupabaseRpcResult<T> {
4
+ data: T | null;
5
+ error: {
6
+ message?: string;
7
+ } | null;
8
+ }
9
+ export interface SupabaseRpcClient {
10
+ rpc<T>(functionName: string, params: Record<string, unknown>): Promise<SupabaseRpcResult<T>>;
11
+ }
12
+ export interface ProvisionarWorkspaceFreeInput {
13
+ authUserId: string;
14
+ email: string;
15
+ emailVerified: boolean;
16
+ authProvider: SemaAuthProvider | string;
17
+ displayName?: string;
18
+ organizationName?: string;
19
+ projectName?: string;
20
+ }
21
+ export interface ProvisionarWorkspaceFreeResult {
22
+ usuario_id: string;
23
+ organizacao_id: string;
24
+ projeto_id: string;
25
+ assinatura_id: string;
26
+ periodo_inicio: string;
27
+ semas_mensais: number;
28
+ }
29
+ export interface ConsultarContextoComercialUsuarioInput {
30
+ authUserId: string;
31
+ }
32
+ export interface ClaimFreeWorkspaceInput {
33
+ displayName?: string;
34
+ organizationName?: string;
35
+ projectName?: string;
36
+ authProvider?: SemaAuthProvider | string;
37
+ }
38
+ export interface ConsultaContextoComercialUsuarioPlano {
39
+ id: SemaPlanId;
40
+ name: string;
41
+ monthly_semas: number;
42
+ }
43
+ export interface ConsultaContextoComercialUsuarioResult {
44
+ authUserId: string;
45
+ tabelas: readonly string[];
46
+ filtros: {
47
+ perfil: {
48
+ id: string;
49
+ };
50
+ memberships: {
51
+ user_id: string;
52
+ };
53
+ };
54
+ }
55
+ export interface SemaUsageBreakdownItem {
56
+ projectId?: string | null;
57
+ projectName?: string | null;
58
+ projectSlug?: string | null;
59
+ clientId?: string | null;
60
+ clientName?: string | null;
61
+ tokenPrefix?: string | null;
62
+ toolName?: string | null;
63
+ requestedSemas: number;
64
+ chargedSemas: number;
65
+ usedSemas?: number;
66
+ callCount: number;
67
+ adminBypassCount?: number;
68
+ share?: number;
69
+ lastUsedAt?: string | null;
70
+ usagePeriods?: SemaUsagePeriods;
71
+ dailySeries?: SemaUsageDailyPoint[];
72
+ }
73
+ export interface SemaUsagePeriod {
74
+ requestedSemas: number;
75
+ chargedSemas: number;
76
+ usedSemas?: number;
77
+ callCount: number;
78
+ adminBypassCount?: number;
79
+ }
80
+ export interface SemaUsagePeriods {
81
+ today: SemaUsagePeriod;
82
+ week: SemaUsagePeriod;
83
+ month: SemaUsagePeriod;
84
+ all: SemaUsagePeriod;
85
+ }
86
+ export interface SemaUsageDailyPoint {
87
+ date: string;
88
+ requestedSemas: number;
89
+ chargedSemas: number;
90
+ usedSemas?: number;
91
+ callCount: number;
92
+ }
93
+ export interface SemaUsageSummary {
94
+ totalRequestedSemas: number;
95
+ totalChargedSemas: number;
96
+ callCount: number;
97
+ adminBypassCount: number;
98
+ byProject: SemaUsageBreakdownItem[];
99
+ byKey: SemaUsageBreakdownItem[];
100
+ byTool: SemaUsageBreakdownItem[];
101
+ usagePeriods?: SemaUsagePeriods;
102
+ dailySeries?: SemaUsageDailyPoint[];
103
+ }
104
+ export interface SemaOperationCost {
105
+ code: string;
106
+ name: string;
107
+ category: string;
108
+ toolName?: string | null;
109
+ pipelineCode?: string | null;
110
+ semas: number;
111
+ costBasis: "operational_cost_100_percent" | string;
112
+ aiCostIncluded: false;
113
+ metadata?: Record<string, unknown>;
114
+ }
115
+ export interface SemaProfilePreference {
116
+ profileTool: string;
117
+ displayName: string;
118
+ category: "base" | "creative" | "editorial" | "ops" | string;
119
+ description: string;
120
+ defaultEnabled: boolean;
121
+ globalEnabled: boolean;
122
+ projectEnabled?: boolean | null;
123
+ effectiveEnabled: boolean;
124
+ effectiveScope: "global" | "project" | string;
125
+ pipelineCodes?: string[];
126
+ }
127
+ export interface SemaPipelineSuggestion {
128
+ code: string;
129
+ name: string;
130
+ description: string;
131
+ requiredProfiles: string[];
132
+ activeProfiles: number;
133
+ requiredCount: number;
134
+ suggested: boolean;
135
+ estimatedSemas: number;
136
+ costBasis: "operational_cost_100_percent" | string;
137
+ aiCostIncluded: false;
138
+ }
139
+ export interface SemaProfileSettingsContext {
140
+ profiles: SemaProfilePreference[];
141
+ pipelines: SemaPipelineSuggestion[];
142
+ costPolicy: {
143
+ unit: "SEMA" | string;
144
+ costBasis: "operational_cost_100_percent" | string;
145
+ aiCostIncluded: false;
146
+ heavyOperationMaxSemas: number;
147
+ };
148
+ }
149
+ export interface SemaMcpClientSummary {
150
+ id: string;
151
+ name: string;
152
+ tokenPrefix?: string | null;
153
+ token?: string | null;
154
+ copyable?: boolean;
155
+ status: string;
156
+ organizationId?: string;
157
+ defaultProjectId?: string | null;
158
+ projectId?: string | null;
159
+ projectName?: string | null;
160
+ projectSlug?: string | null;
161
+ scope?: "workspace" | "project" | string;
162
+ createdAt?: string;
163
+ updatedAt?: string;
164
+ lastUsedAt?: string | null;
165
+ requestedSemas?: number;
166
+ chargedSemas?: number;
167
+ usedSemas?: number;
168
+ callCount?: number;
169
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=controleComercialSupabaseTiposBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controleComercialSupabaseTiposBase.js","sourceRoot":"","sources":["../src/controleComercialSupabaseTiposBase.ts"],"names":[],"mappings":""}
@@ -0,0 +1,220 @@
1
+ import type { SemaMcpClientSummary, SemaPlanId, SemaProfileSettingsContext, SemaUsageDailyPoint, SemaUsagePeriods, SemaUsageSummary } from "./controleComercialSupabaseTiposBase.js";
2
+ export interface SemaAccountContext {
3
+ authenticated: boolean;
4
+ provisioned: boolean;
5
+ user: {
6
+ id: string;
7
+ email: string;
8
+ displayName?: string;
9
+ phone?: string | null;
10
+ locale?: string | null;
11
+ timezone?: string | null;
12
+ emailVerified: boolean;
13
+ provider: string;
14
+ };
15
+ admin: {
16
+ isAdmin: boolean;
17
+ displayName?: string | null;
18
+ infiniteSemas: boolean;
19
+ };
20
+ organization: {
21
+ id: string;
22
+ name: string;
23
+ slug: string;
24
+ role: string;
25
+ } | null;
26
+ plan: {
27
+ id: SemaPlanId;
28
+ name: string;
29
+ monthlySemas: number;
30
+ projectLimit: number;
31
+ userLimit: number;
32
+ retentionDays: number;
33
+ monthlyPriceUsd: number;
34
+ } | null;
35
+ balance: {
36
+ periodStart: string;
37
+ periodEnd: string;
38
+ monthlySemas: number;
39
+ usedSemas: number;
40
+ reservedSemas: number;
41
+ remainingSemas: number | null;
42
+ infiniteSemas: boolean;
43
+ accumulates: boolean;
44
+ } | null;
45
+ projects: Array<{
46
+ id: string;
47
+ name: string;
48
+ description?: string;
49
+ slug: string;
50
+ status: string;
51
+ createdAt?: string;
52
+ updatedAt?: string;
53
+ requestedSemas?: number;
54
+ chargedSemas?: number;
55
+ usedSemas?: number;
56
+ callCount?: number;
57
+ activeKeyCount?: number;
58
+ lastUsedAt?: string | null;
59
+ usagePeriods?: SemaUsagePeriods;
60
+ dailySeries?: SemaUsageDailyPoint[];
61
+ }>;
62
+ usage: Array<{
63
+ id: string;
64
+ toolName: string;
65
+ requestedSemas: number;
66
+ chargedSemas: number;
67
+ adminBypass: boolean;
68
+ projectId?: string | null;
69
+ projectName?: string | null;
70
+ projectSlug?: string | null;
71
+ mcpClientId?: string | null;
72
+ mcpClientName?: string | null;
73
+ createdAt?: string;
74
+ }>;
75
+ usageSummary?: SemaUsageSummary;
76
+ mcpKeys?: SemaMcpClientSummary[];
77
+ profileSettings?: SemaProfileSettingsContext;
78
+ }
79
+ export interface SemaAccountProfile {
80
+ id: string;
81
+ email: string;
82
+ displayName?: string | null;
83
+ phone?: string | null;
84
+ locale?: string | null;
85
+ timezone?: string | null;
86
+ emailVerified: boolean;
87
+ provider: string;
88
+ profileFound: boolean;
89
+ }
90
+ export interface AtualizarPerfilContaInput {
91
+ displayName?: string | null;
92
+ phone?: string | null;
93
+ locale?: string | null;
94
+ timezone?: string | null;
95
+ }
96
+ export interface AtualizarPerfilContaResult {
97
+ updated: boolean;
98
+ profile: SemaAccountProfile;
99
+ context: SemaAccountContext;
100
+ }
101
+ export interface RegistrarPresencaUsuarioInput {
102
+ page?: string;
103
+ metadata?: Record<string, unknown>;
104
+ }
105
+ export interface RegistrarPresencaUsuarioResult {
106
+ registered: boolean;
107
+ onlineNow: number;
108
+ recentNow?: number;
109
+ }
110
+ export interface SemaMcpClientContext {
111
+ active: boolean;
112
+ activeCount?: number;
113
+ token?: string | null;
114
+ copyable?: boolean;
115
+ client: SemaMcpClientSummary | null;
116
+ clients?: SemaMcpClientSummary[];
117
+ keys?: SemaMcpClientSummary[];
118
+ }
119
+ export interface CriarProjetoWorkspaceInput {
120
+ name: string;
121
+ description?: string;
122
+ }
123
+ export interface CriarProjetoWorkspaceResult {
124
+ created: boolean;
125
+ project: {
126
+ id: string;
127
+ name: string;
128
+ description?: string;
129
+ slug: string;
130
+ status: string;
131
+ };
132
+ context: SemaAccountContext;
133
+ }
134
+ export interface AtualizarProjetoWorkspaceInput {
135
+ projectId: string;
136
+ name?: string;
137
+ description?: string;
138
+ }
139
+ export interface AtualizarProjetoWorkspaceResult {
140
+ updated: boolean;
141
+ project: {
142
+ id: string;
143
+ name: string;
144
+ description?: string;
145
+ slug: string;
146
+ status: string;
147
+ };
148
+ context: SemaAccountContext;
149
+ }
150
+ export interface ArquivarProjetoWorkspaceInput {
151
+ projectId: string;
152
+ }
153
+ export interface ArquivarProjetoWorkspaceResult {
154
+ archived: boolean;
155
+ projectId: string;
156
+ context: SemaAccountContext;
157
+ }
158
+ export interface GerarChaveMcpWorkspaceInput {
159
+ name?: string;
160
+ projectId?: string | null;
161
+ }
162
+ export interface GerarChaveMcpWorkspaceResult {
163
+ generated: boolean;
164
+ token: string;
165
+ copyable?: boolean;
166
+ client: SemaMcpClientSummary;
167
+ mcpKey: SemaMcpClientContext;
168
+ }
169
+ export interface RevogarChaveMcpWorkspaceInput {
170
+ clientId: string;
171
+ }
172
+ export interface RevogarChaveMcpWorkspaceResult {
173
+ revoked: boolean;
174
+ clientId: string;
175
+ mcpKey: SemaMcpClientContext;
176
+ }
177
+ export interface ConsumirSemasMcpInput {
178
+ actorUserId?: string;
179
+ organizationId?: string;
180
+ projectId?: string;
181
+ amount?: number;
182
+ operationCode?: string;
183
+ toolName: string;
184
+ requestSummary?: string;
185
+ idempotencyKey: string;
186
+ metadata?: Record<string, unknown>;
187
+ privateRpc?: boolean;
188
+ mcpTokenHash?: string;
189
+ }
190
+ export interface ConsumirSemasMcpResult {
191
+ authorized: boolean;
192
+ idempotent: boolean;
193
+ usageEventId: string;
194
+ organizationId: string;
195
+ projectId?: string | null;
196
+ requestedSemas: number;
197
+ chargedSemas: number;
198
+ remainingSemas: number | null;
199
+ infiniteSemas: boolean;
200
+ adminBypass: boolean;
201
+ }
202
+ export interface EstimarCustoOperacaoSemaInput {
203
+ operationCode?: string;
204
+ toolName?: string;
205
+ metadata?: Record<string, unknown>;
206
+ }
207
+ export interface ConfigurarProfileWorkspaceInput {
208
+ projectId?: string | null;
209
+ profileTool: string;
210
+ enabled: boolean;
211
+ scope?: "global" | "project";
212
+ }
213
+ export interface ConfigurarProfileWorkspaceResult {
214
+ configured: boolean;
215
+ profileTool: string;
216
+ enabled: boolean;
217
+ scope: "global" | "project" | string;
218
+ projectId?: string | null;
219
+ profileSettings: SemaProfileSettingsContext;
220
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=controleComercialSupabaseTiposConta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controleComercialSupabaseTiposConta.js","sourceRoot":"","sources":["../src/controleComercialSupabaseTiposConta.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ export interface SessaoDev {
2
+ id: string;
3
+ pastaObservada: string;
4
+ modo: 'rigoroso' | 'permissivo';
5
+ contratosEmDraft: string[];
6
+ ultimaValidacao: Date;
7
+ }
8
+ export declare function iniciarModoDev(pastaContratos: string, alvoCodigo?: string, modoInicial?: 'rigoroso' | 'permissivo'): Promise<{
9
+ sessao: SessaoDev;
10
+ arquivosObservados: number;
11
+ statusWatch: string;
12
+ }>;
13
+ export declare function promoverParaProduction(caminhoContrato: string, verificacoesPendentes?: string[]): Promise<{
14
+ promovido: boolean;
15
+ checksRestantes: string[];
16
+ scoreDrift: number;
17
+ }>;
18
+ export declare function comandoDev(args: string[]): Promise<void>;
@@ -0,0 +1,143 @@
1
+ // Modo dev --watch para paralelizacao
2
+ // Contrato: cli_dev_mode.sema
3
+ import * as fs from 'fs';
4
+ import * as path from 'path';
5
+ import { spawn } from 'child_process';
6
+ const sessoes = new Map();
7
+ export async function iniciarModoDev(pastaContratos, alvoCodigo, modoInicial = 'permissivo') {
8
+ // Validar pasta
9
+ if (!fs.existsSync(pastaContratos)) {
10
+ throw new Error(`Diretorio nao existe: ${pastaContratos}`);
11
+ }
12
+ // Contar arquivos .sema
13
+ const arquivos = fs.readdirSync(pastaContratos);
14
+ const contratos = arquivos.filter(f => f.endsWith('.sema'));
15
+ if (contratos.length === 0) {
16
+ throw new Error(`Nenhum arquivo .sema encontrado em ${pastaContratos}`);
17
+ }
18
+ // Criar sessao
19
+ const sessao = {
20
+ id: `dev_${Date.now()}`,
21
+ pastaObservada: path.resolve(pastaContratos),
22
+ modo: modoInicial,
23
+ contratosEmDraft: contratos.map(c => path.join(pastaContratos, c)),
24
+ ultimaValidacao: new Date()
25
+ };
26
+ sessoes.set(sessao.id, sessao);
27
+ console.log(`\nšŸ” Modo DEV iniciado (${modoInicial})`);
28
+ console.log(` šŸ“ Observando: ${sessao.pastaObservada}`);
29
+ console.log(` šŸ“„ Contratos: ${contratos.length}`);
30
+ console.log(` šŸ’” Alteracoes serao validadas em tempo real\n`);
31
+ // Iniciar watcher simples
32
+ iniciarWatcher(sessao);
33
+ return {
34
+ sessao,
35
+ arquivosObservados: contratos.length,
36
+ statusWatch: 'ativo'
37
+ };
38
+ }
39
+ function iniciarWatcher(sessao) {
40
+ let timeout = null;
41
+ fs.watch(sessao.pastaObservada, { recursive: true }, (evento, nomeArquivo) => {
42
+ if (!nomeArquivo || !nomeArquivo.endsWith('.sema'))
43
+ return;
44
+ // Debounce
45
+ if (timeout)
46
+ clearTimeout(timeout);
47
+ timeout = setTimeout(() => {
48
+ const caminhoCompleto = path.join(sessao.pastaObservada, nomeArquivo);
49
+ if (fs.existsSync(caminhoCompleto)) {
50
+ console.log(`\nšŸ“ Alteracao detectada: ${nomeArquivo}`);
51
+ validarAlteracao(caminhoCompleto, sessao.modo);
52
+ }
53
+ }, 500);
54
+ });
55
+ }
56
+ async function validarAlteracao(caminhoArquivo, modo) {
57
+ // Executar validacao via CLI
58
+ const semaPath = path.resolve('pacotes/cli/dist/index.js');
59
+ const args = ['validar', caminhoArquivo];
60
+ if (modo === 'permissivo') {
61
+ console.log(' 🟔 Modo permissivo: mostrando apenas warnings\n');
62
+ }
63
+ const processo = spawn('node', [semaPath, ...args], {
64
+ stdio: 'inherit',
65
+ shell: true
66
+ });
67
+ processo.on('close', (codigo) => {
68
+ if (codigo === 0) {
69
+ console.log(' āœ… Validacao OK\n');
70
+ }
71
+ else if (modo === 'permissivo') {
72
+ console.log(' āš ļø Warnings encontrados (nao bloqueia no modo draft)\n');
73
+ }
74
+ else {
75
+ console.log(' āŒ Erros encontrados\n');
76
+ }
77
+ });
78
+ }
79
+ export async function promoverParaProduction(caminhoContrato, verificacoesPendentes) {
80
+ console.log(`\nšŸš€ Promovendo ${path.basename(caminhoContrato)} para PRODUCTION...`);
81
+ // Validar rigorosamente
82
+ const semaPath = path.resolve('pacotes/cli/dist/index.js');
83
+ return new Promise((resolve) => {
84
+ const processo = spawn('node', [semaPath, 'validar', caminhoContrato, '--json'], {
85
+ shell: true
86
+ });
87
+ let saida = '';
88
+ processo.stdout?.on('data', (data) => { saida += data; });
89
+ processo.on('close', () => {
90
+ try {
91
+ const resultado = JSON.parse(saida);
92
+ const temErros = resultado.bloqueia_acao === true;
93
+ if (temErros) {
94
+ console.log(' āŒ Bloqueado: resolva os erros antes de promover\n');
95
+ resolve({
96
+ promovido: false,
97
+ checksRestantes: resultado.erros?.map((e) => e.codigo) || [],
98
+ scoreDrift: 50
99
+ });
100
+ }
101
+ else {
102
+ console.log(' āœ… Promovido com sucesso!\n');
103
+ resolve({ promovido: true, checksRestantes: [], scoreDrift: 95 });
104
+ }
105
+ }
106
+ catch {
107
+ console.log(' āš ļø Erro ao verificar status\n');
108
+ resolve({ promovido: false, checksRestantes: ['erro_verificacao'], scoreDrift: 0 });
109
+ }
110
+ });
111
+ });
112
+ }
113
+ // Handler CLI
114
+ export async function comandoDev(args) {
115
+ const promoverFlag = args.includes('--promover') || args.includes('-p');
116
+ if (promoverFlag) {
117
+ const idx = args.findIndex(a => a === '--promover' || a === '-p');
118
+ const caminhoContrato = args[idx + 1];
119
+ if (!caminhoContrato) {
120
+ console.error('Uso: sema dev --promover <caminho-contrato>');
121
+ process.exit(1);
122
+ }
123
+ const resultado = await promoverParaProduction(caminhoContrato);
124
+ process.exit(resultado.promovido ? 0 : 1);
125
+ return;
126
+ }
127
+ // Modo watch normal
128
+ const pastaIdx = args.findIndex(a => a === '--pasta' || a === '-d');
129
+ const pasta = pastaIdx !== -1 ? args[pastaIdx + 1] : 'contratos/';
130
+ const modoIdx = args.findIndex(a => a === '--modo' || a === '-m');
131
+ const modo = modoIdx !== -1 ? args[modoIdx + 1] : 'permissivo';
132
+ try {
133
+ await iniciarModoDev(pasta, undefined, modo);
134
+ // Manter processo vivo
135
+ console.log('Pressione Ctrl+C para parar\n');
136
+ process.stdin.resume();
137
+ }
138
+ catch (err) {
139
+ console.error(`Erro: ${err instanceof Error ? err.message : err}`);
140
+ process.exit(1);
141
+ }
142
+ }
143
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dev/index.ts"],"names":[],"mappings":"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"}