genexus-mcp 4.0.0 → 4.0.1

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.
package/README.md CHANGED
@@ -121,15 +121,20 @@ does not claim the same feature parity as the native SDK contract for GeneXus
121
121
 
122
122
  ### 🎮 Decompilation / Parity Progress
123
123
 
124
- Progress is measured against recorded SDK differential inputs and observable results, not the number of implemented modules or passing unit tests. On the disposable `KBTeste` KB, a whole-KB Rebuild All now generates and compiles every targeted object (**346/346, 0 skipped, 0 refused**) and the C# the SDK writes for that KB is reproduced **byte for byte (328/328 files)**, together with the web scripts, `gxcfg.js`, messages and runtime configuration. **Full SDK replacement is not verified** for arbitrary KBs: unsupported forms are still refused by name, and only one KB is the oracle. gx-engine is the **default backend** (`Engine.Backend=gxengine`: admitted builds and field-limited type-only queries; reads/edits and other shapes use SDK fallback; `auto` = builds only, `sdk` = engine off); see [engine routing](docs/engine_backend.md).
124
+ Progress is measured against recorded SDK differential inputs and observable results, not the number of implemented modules or passing unit tests. At the published 4.0.0 baseline, the disposable `KBTeste` Rebuild All recorded **346/346, 0 skipped, 0 refused** and **byte for byte (328/328 files)** C# agreement, together with web scripts, `gxcfg.js`, messages and runtime configuration. These historical counts do not validate later changes or prove that unsupported database semantics were preserved. **Full SDK replacement is not verified** for arbitrary KBs: unsupported forms are still refused by name, and only one KB is the oracle. gx-engine is the **default backend** (`Engine.Backend=gxengine`: admitted builds and field-limited type-only queries; reads/edits and other shapes use SDK fallback; `auto` = builds only, `sdk` = engine off); see [engine routing](docs/engine_backend.md).
125
125
 
126
126
  ### What builds today
127
127
 
128
+ The counts and timings below describe the published 4.0.0 baseline, not a fresh
129
+ validation of uncommitted generator changes. Checked emission now refuses
130
+ unsupported database statements rather than accepting incomplete behavior;
131
+ post-change whole-KB counts and SDK parity must be measured again.
132
+
128
133
  | Lane | Verified evidence | Boundary |
129
134
  | :--- | :--- | :--- |
130
135
  | Package build | `build.ps1` built Gateway, Worker, gxwire and gx-engine; local publish/backend engine hashes match. | Building the MCP distribution is not building every object in a KB. |
131
136
  | Selected-object build | Five alternating local SDK/engine pairs regenerated and compiled `DCM37961700`; core APIs and actual CLI output matched. SDK median **14.756s**, engine **0.230s** (**64.19×**). | Synthetic warm fixture; AUTO_CLOSE=OFF on both sides, original ON restored. The packaged binary was not benchmarked; it passed a separate build/run smoke. |
132
- | Full native KB build (`KBTeste`) | `rebuild-all`: **346 generated / 346 compiled, 0 skipped, 0 refused**. Against the SDK's own output for the same KB: **328/328 C# files byte-identical, 0 missing**; 24/24 web `.js`, `gxcfg.js`, `messages.eng.txt/.js`, `log.config`, `log.console.config` (+ `bin/` copies) and `CloudServices.config` byte-identical. | One oracle KB. The engine also writes 18 files the SDK's current output lacks (13 SDT classes identical to an earlier SDK generation, sidebar/program-name SDTs it reaches, 2 assembly-info files). Developer Menu not written (its object selection is not established). |
137
+ | Full native KB build (`KBTeste`) | `rebuild-all`: **346 generated / 346 compiled, 0 skipped, 0 refused**. Against the SDK's own output for the same KB: **328/328 C# files byte-identical, 0 missing**; 24/24 web `.js`, `gxcfg.js`, `messages.eng.txt/.js`, `log.config`, `log.console.config` (+ `bin/` copies) and `CloudServices.config` byte-identical. | One oracle KB. Extra SDT and assembly-info output remains outside the matching-file denominator. Developer Menu not written (its object selection is not established). |
133
138
 
134
139
  Use the SDK for required workflows outside validated engine coverage. See
135
140
  [Plan 131](plans/131-sdk-performance-benchmark.md) for the exact binary, commands,
@@ -148,32 +153,26 @@ See the [current acceptance/evidence ledger](plans/129-implementation-progress.m
148
153
 
149
154
  #### Gateway Capability Registry Gates
150
155
 
151
- The MCP Gateway exposes a capability gate (`EngineCapabilityRegistry`). The `Parity` labels below describe registered, bounded evidence, not complete SDK equivalence; routing boundaries and fallbacks are documented in [engine_backend.md](docs/engine_backend.md):
152
-
153
- | Capability | Status | Evidence & Performance |
154
- | :--- | :---: | :--- |
155
- | `str_format` | 🟩 **Parity** | `Str()` numeric picture rules: 36,246 native rows verified, 0 diffs. Measured ~121 ns/row vs ~280 ns/row SDK (~2.3x faster). |
156
- | `numeric_render` | 🟩 **Parity** | `&var.ToString()` / `Print()`: 120 native boundary cases verified (precision 1..18, scale corners, padding). |
157
- | `date_display` | 🟩 **Parity** | Date/DateTime rendering: 18 native boundary cases verified (`MM/dd/yy`, 12h AM/PM, empty sentinels). |
158
- | `text_functions` | 🟩 **Parity** | `Substr`/`Upper`/`Lower`/`StrReplace`: 63 native KBTeste cases verified (1-based, expand-casing, exact replace). |
159
- | `text_extended_functions` | 🟩 **Parity** | `LTrim`/`RTrim`/`PadL`/`PadR`/`Space`/`Concat`/`StartsWith`/`EndsWith`/`Contains`/`StrSearch`: 95 native `StringUtil` oracle rows verified (exact ASCII space trim, left/right pad truncation, single-sided concat trim, ordinal comparisons, 1-based index clamping). |
160
- | `numeric_math_functions` | 🟩 **Parity** | `Int`/`Round`/`Trunc`/`Val`/`Left`/`Right`/`Asc`/`Chr`/`NotNumeric`/`LTrimStr`: 107 native `NumberUtil` and `StringUtil` oracle rows verified (`Math.Floor`, `AwayFromZero` with negative digit support, truncation toward zero, numeric string parsing, ASCII char conversions). |
161
- | `collection_operations` | 🟩 **Parity** | `Add`/`Remove`/`Clear`/`IndexOf`, `For In` iteration and `Exit`: 24 native `GxSimpleCollection` and `GXBaseCollection` oracle rows verified (1-based indexing, insertion, out-of-bounds silent removal, element aliasing in loops, loop exit). |
162
- | `calendar_operations` | 🟩 **Parity** | `Day`/`Month`/`Year`/`Hour`/`Minute`/`Sec`/`Dow`, `AddYr`/`AddMth`/`DAdd`/`TAdd`, `DDiff`/`TDiff`, `Age`, `EndOfMonth`, `ResetTime`, `CToD`/`DToC`/`TToC`, and `.ToString()`: 133 native `DateTimeUtil` oracle rows verified (1=Sunday DOW, leap clamping, second rollover, whole-day truncated DDiff, completed years Age, measured `CToD` parse grammar with the environment two-digit-year window, ISO `yyyy-MM-dd` and `yyyy-MM-ddTHH:mm:ss` exchange pictures). |
163
- | `subroutine_control_flow` | 🟩 **Parity** | `Sub 'Name' ... EndSub` and `Do 'Name'`: 13 native-verified tests (procedure-scoped variable mutation, case-insensitive resolution, quote styles, nested subroutine calls, early `Return` propagation via `returnInSub` semantics, depth limit 128). |
164
- | `conditional_and_state_operations` | 🟩 **Parity** | `Iif(cond, trueExpr, falseExpr)` short-circuit conditional, universal `.IsEmpty()`/`IsEmpty()` and `.SetEmpty()` across all types, `Nullvalue(&var)`, `.UDP(...)` calls, and `Format`/`NewLine`/`Replicate`/`CharAt`/`StrSearchRev`/`.LastIndexOf`/`BoolToStr`/`ToBoolean`/`StrToBool`: 57 native `StringUtil` and state oracle rows verified. |
165
- | `sdt_and_collection_json` | 🟩 **Parity** | `&sdt.ToJson()`, `&sdt.FromJson()`, `&col.ToJson()`, `&col.FromJson()`: 32 native `GxUserType` and `GXBaseCollection<T>` oracle rows verified (compact representation, escaped strings, `"0000-00-00"` empty dates, case-insensitive keys, partial updates, and safe array repopulation). |
166
- | `sdt_and_collection_xml` | 🟩 **Parity** | `&sdt.ToXml([root])`, `&sdt.FromXml(xml, [root])`, `&col.ToXml([root])`, `&col.FromXml(xml, [root])`: 40 native `GxUserType` and `GXBaseCollection<T>` XML oracle rows verified (indentation, self-closing tags `<Tag />`, XML entity escaping, ISO `yyyy-MM-ddT00:00:00` date/time, booleans, case-insensitive element parsing, empty reset, and fail-closed error returns). |
167
- | `domain_attribute_projection` | 🟩 **Parity** | Domain (`00972a17-9975-449e-aab1-d26165d51393`) and Attribute (`adbb33c9-0906-4971-833c-998de27e0676`) projection and `BasedOn` resolution in portable catalog and SDK `ExportFile` XML: 10 native-verified integration tests (procedure variables, chained domains, SDT items, cycle detection, domain-cannot-be-based-on-attribute enforcement, and end-to-end `xml-run`). |
168
- | `transaction_structure_projection` | 🟩 **Parity** | Transaction (`1db606f2-af09-4cf9-a3b5-b481519d28f6`) structure, keys, and multi-level hierarchy projection in portable catalog and `ExportFile` XML: 10 native-verified integration tests (nested levels, root and child primary key enforcement, attribute references, recursion depth limit 16, Business Component `RecordType` schema lowering, procedure interoperability). |
169
- | `rules_and_parm_parity` | 🟩 **Parity** | GeneXus Rules part (`9b0a32a3-de6d-4be1-a4dd-1b85d3741534`) parser and AST with Parm interface parity in portable catalog and SDK `ExportFile` XML: 10 native-verified integration tests (`Parm`, `Error`, `Msg`, `Default`, `NoAccept`, `Accept`, `Order`, `Prompt`, `Serial`, `Hidden`, single/multi-line comments, strings with semicolons/escaped quotes, fail-closed diagnostics, procedure-scope enforcement, catalog and XML exchange integration). |
170
- | `transaction_control` | 🟩 **Parity** | Database transaction control procedural statements (`Commit` and `Rollback`, bare keywords or call syntax `Commit()`, `Rollback()` with optional semicolons): 7 native-verified integration tests (conditionals, loops, subroutines, while loops, format_version 1 fail-closed rejection, compiled executable execution, and ExportFile XML exchange). |
171
- | `physical_table_ddl` | 🟩 **Parity** | Physical Table schema normalization and multi-dialect SQL DDL generation (`CREATE TABLE`, primary keys, parent-child and cross-transaction foreign keys, indexes, ANSI/SQL Server/PostgreSQL/Oracle data types): 9 native-verified integration tests without database writes. |
172
- | `sql_navigation` | 🟩 **Parity** | Specifier, base table inference, For Each navigation, extended table joins, and multi-dialect SQL query planning (ANSI, SQL Server, PostgreSQL, Oracle): 10 native-verified integration tests, 13 frontend tests, fail-closed diagnostics (`spc0004`, `spc0005`), and zero SQL writes. |
173
- | `numeric_core`, `text_core`, `calendar_values`, `records_collections`, `procedure_pipeline`, `xml_projection`, `kb_catalog` | 🟩 **Parity** | Foundational runtime capabilities behind the four Native Parity subsystems above; each `EngineCapabilityRegistry` entry lists its native differential corpus or bounded portable fixture (`decimal_oracle`, `numeric_math`, `text_extended`, `calendar_ops`, `date_conversions`, `collection_ops`, `subroutines`, `exchange`, `sdt_xml`, `catalog`). |
174
- | `udm_storage_access` | 🟩 **Parity** (bounded reads) | Direct native UDM reads without COM/STA Worker (`knowledgebase.connection`, SQL Server, LocalDB); registered read/query consumers. Live engine writes are not implemented: `genexus_edit` remains SDK-backed or is refused under strict engine verification. Portable writer/lock tests are not live persistence evidence. |
175
- | `csharp_emitter` | **Bounded coverage** | C# generation and Roslyn compilation tests for supported object forms; unsupported native forms still fail closed. Compilation alone does not establish SDK behavior parity. |
176
- | `parallel_rebuild_all` | **Bounded coverage** | Parallel specification, C# emission and compilation; consumers `genexus_lifecycle.build` / `rebuild`. `KBTeste` Rebuild All: 346/346 compiled, 0 skipped/refused; paired speed ratios below are `KBTeste`-only and do not establish full SDK parity. |
156
+ The MCP Gateway exposes an evidence gate (`EngineCapabilityRegistry`). See the
157
+ [current capability table](docs/engine_backend.md) for each bounded status,
158
+ consumer and evidence source. Runtime oracle fixtures, portable model tests and
159
+ live MCP compatibility are different kinds of evidence; none is an overall SDK
160
+ replacement percentage.
161
+
162
+ - Native-runtime oracle rows cover only their recorded inputs, encodings and
163
+ environment; synthetic library tests alone do not establish native parity.
164
+ - Admitted type-only queries and blocking builds/rebuilds are the current native
165
+ MCP surface. Reads and edits remain SDK-backed or fail closed; routing a call
166
+ to a deferral guard is not native implementation coverage.
167
+ - Storage decoding, navigation planning, object modeling and C# emission remain
168
+ partial. Unsupported database statements must fail generation rather than
169
+ produce a successful Procedure with missing database behavior.
170
+
171
+ The published 4.0.0 `KBTeste` result (346 compiled classes, 328 matching SDK C#
172
+ files and 20 extra files) is historical, bounded evidence. It is not a fresh
173
+ validation of later safety changes, all object families or whole-SDK behavior.
174
+ The [full-parity acceptance plan](plans/132-gxengine-full-parity.md) tracks the
175
+ remaining workflows and evidence required.
177
176
 
178
177
  ### ⚡ Performance Benchmarks (gx-engine vs. GeneXus SDK)
179
178
 
@@ -219,8 +218,8 @@ No backend setting is needed. To narrow routing to builds (`"auto"`) or turn the
219
218
  ```
220
219
 
221
220
  - **`Engine.Backend`**: `"gxengine"` (default: admitted builds and field-limited type-only queries; reads/edits use SDK fallback), `"auto"` (admitted builds only), or `"sdk"` (SDK only, engine never invoked).
222
- - **`Engine.Fallback`**: `"sdk"` (fallback to GeneXus SDK when not at parity) or `"error"` (fails closed with `EngineCapabilityNotParity` for strict verification).
223
- - **Diagnostics**: `genexus_doctor` inspects the engine via `--version` handshake and reports an `engine` status block with `backend`, `available`, `version`, `capabilities`, and `routedOperations`.
221
+ - **`Engine.Fallback`**: `"sdk"` (fallback to GeneXus SDK outside admitted native coverage) or `"error"` (fails closed: `EngineCapabilityNotParity` for evidence-gate rejection; `EngineOperationOutsideAdmittedSpace` for read/edit deferrals and unsupported query/build arguments).
222
+ - **Diagnostics**: `genexus_doctor` inspects the engine via `--version` handshake and reports an `engine` status block with `backend`, `available`, `version`, and `capabilities`. Its `routedOperations` lists served native operations; `deferredOperations` lists read/edit deferrals separately, never as parity.
224
223
 
225
224
  To run compiler tests or standalone projects from checkout:
226
225
 
package/cli/docs.test.js CHANGED
@@ -108,6 +108,12 @@ test('engine guidance separates package builds, fixture speed and full-KB covera
108
108
  assert.ok(fs.existsSync(path.join(repoRoot, document)), `Missing agent document: ${document}`);
109
109
  }
110
110
 
111
+ const artifactSkill = '.agents/skills/gxe-artifact-parity/SKILL.md';
112
+ assert.ok(guidance.includes(`](${artifactSkill})`), 'Missing artifact-parity skill pointer');
113
+ assert.match(read(artifactSkill), /^name: gxe-artifact-parity$/m);
114
+ assert.match(read(artifactSkill), /scripts\/artifact_diff\.py/);
115
+ assert.ok(fs.existsSync(path.join(repoRoot, 'src/gx-engine/scripts/artifact_diff.py')));
116
+
111
117
  const engineReadme = read('src/gx-engine/README.md');
112
118
  const engineCoverage = markdownSection(engineReadme, '## Build coverage and routing');
113
119
  assert.match(engineCoverage, /full SDK replacement is not established/);
@@ -115,6 +121,32 @@ test('engine guidance separates package builds, fixture speed and full-KB covera
115
121
  assert.match(engineReadme, /packaged binary was smoke-tested, not benchmarked/);
116
122
  });
117
123
 
124
+ test('engine SQL authentication guidance distinguishes safe preflight fallback from replay', () => {
125
+ const guide = read('docs/engine_backend.md');
126
+ const auth = markdownSection(guide, '## SQL authentication (issue #635)');
127
+ assert.match(auth, /SQLCMDUSER/);
128
+ assert.match(auth, /SQLCMDPASSWORD/);
129
+ assert.match(auth, /private credential store/);
130
+ assert.match(auth, /exit \*\*5\*\*/);
131
+ assert.match(auth, /sql_credentials_unavailable/);
132
+ assert.match(auth, /EngineSqlCredentialsUnavailable/);
133
+ assert.match(auth, /must not\s+trigger automatic SDK build replay/);
134
+ const auto = markdownSection(guide, '### Exactly what `auto` routes');
135
+ assert.match(auto, /compile_check callers=false includeCallees=transitive/);
136
+ assert.match(auto, /Whole-KB/);
137
+ assert.match(auto, /estimated_seconds/);
138
+ assert.match(auto, /Read, query, edit/);
139
+ });
140
+
141
+ test('engine capability guidance does not duplicate synthetic parity claims', () => {
142
+ const section = markdownSection(read('README.md'), '#### Gateway Capability Registry Gates');
143
+ assert.match(section, /\[current capability table\]\(docs\/engine_backend\.md\)/);
144
+ assert.doesNotMatch(section, /\|\s*`[^`]+`[^\n]*\*\*Parity\*\*/);
145
+ assert.match(section, /deferral guard is not native implementation coverage/);
146
+ assert.match(section, /historical, bounded evidence/);
147
+ assert.match(section, /plans\/132-gxengine-full-parity\.md/);
148
+ });
149
+
118
150
  test('engine default policy is gxengine and preserves auto/SDK opt-out and reconciliation', () => {
119
151
  const section = markdownSection(read('README.md'), '### Activation Flag & Safety Seam');
120
152
  assert.match(section, /defaults to `"gxengine"`/);
@@ -128,6 +160,13 @@ test('engine default policy is gxengine and preserves auto/SDK opt-out and recon
128
160
  assert.match(section, /`"auto"` routes only builds/);
129
161
  assert.match(section, /`"sdk"` keeps every operation on the SDK/);
130
162
  assert.match(section, /never trigger automatic SDK replay/);
163
+ assert.match(section, /EngineCapabilityNotParity.*evidence-gate rejection/);
164
+ assert.match(section, /EngineOperationOutsideAdmittedSpace.*read\/edit deferrals/);
165
+ for (const document of ['src/gx-engine/README.md', 'docs/engine_backend.md']) {
166
+ const text = read(document);
167
+ assert.match(text, /planning skips.*Partial|Partial when skipped during planning/);
168
+ assert.match(text, /checked-emission errors.*Failed/);
169
+ }
131
170
  assert.match(section, /admitted type-only `genexus_query` calls/);
132
171
  assert.match(section, /all reads/);
133
172
  assert.match(backend, /No read shape is currently admitted/);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genexus-mcp",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "mcpName": "io.github.lennix1337/genexus",
5
5
  "description": "GeneXus 16, GeneXus 17, GeneXus 18 MCP server with native SDK support; basic legacy compatibility for GeneXus Evolution 3, GeneXus Evolution 2, GeneXus Evolution 1, GeneXus 15, GeneXus 9.0, GeneXus 8.0 via com-gxpublic and dotnet-reflection drivers — read, edit, and analyze Knowledge Base objects directly from Claude, Cursor, and other AI agents over the Model Context Protocol.",
6
6
  "keywords": [
@@ -7,7 +7,7 @@
7
7
  "targets": {
8
8
  ".NETCoreApp,Version=v10.0": {},
9
9
  ".NETCoreApp,Version=v10.0/win-x64": {
10
- "GxMcp.Gateway/4.0.0": {
10
+ "GxMcp.Gateway/4.0.1": {
11
11
  "dependencies": {
12
12
  "Newtonsoft.Json": "13.0.3",
13
13
  "System.Management": "10.0.5",
@@ -66,7 +66,7 @@
66
66
  }
67
67
  },
68
68
  "libraries": {
69
- "GxMcp.Gateway/4.0.0": {
69
+ "GxMcp.Gateway/4.0.1": {
70
70
  "type": "project",
71
71
  "serviceable": false,
72
72
  "sha512": ""
Binary file
Binary file
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "ConfigSchemaVersion": 2,
3
- "GeneXus": {
4
- "InstallationPath": "C:\\Program Files (x86)\\GeneXus\\GeneXus18",
5
- "WorkerExecutable": "worker\\\\GxMcp.Worker.exe"
3
+ "Environment": {
4
+ "ResolutionPolicy": "strict"
6
5
  },
7
6
  "GatewayMode": "stdio-isolated",
7
+ "GeneXus": {
8
+ "WorkerExecutable": "worker\\\\GxMcp.Worker.exe",
9
+ "InstallationPath": "C:\\Program Files (x86)\\GeneXus\\GeneXus18"
10
+ },
8
11
  "Server": {
9
12
  "WorkerIdleTimeoutMinutes": 5,
13
+ "HttpPort": 0,
14
+ "TerseResponses": true,
10
15
  "EmitStructuredContent": false,
11
16
  "McpStdio": true,
12
- "SessionIdleTimeoutMinutes": 10,
13
- "TerseResponses": true,
14
- "HttpPort": 0
15
- },
16
- "Environment": {
17
- "ResolutionPolicy": "strict"
17
+ "SessionIdleTimeoutMinutes": 10
18
18
  }
19
19
  }
Binary file
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": "gxmcp-release-manifest/1",
3
- "version": "4.0.0",
4
- "sourceCommit": "62272a9c499ff02698c5b3300d64e294f888f4fa",
3
+ "version": "4.0.1",
4
+ "sourceCommit": "290aff51e3a7c810619eaed2cc5059622eb0939b",
5
5
  "sourceCommitPolicy": "exact-tag",
6
- "generatedAtUtc": "2026-10-21T13:01:38.4377788Z",
6
+ "generatedAtUtc": "2026-10-21T18:49:57.9694364Z",
7
7
  "runtime": {
8
8
  "gateway": "net10.0-windows",
9
9
  "worker": "net48-x86",
@@ -21,17 +21,17 @@
21
21
  {
22
22
  "path": "gxmcp-sbom.json",
23
23
  "size": 590,
24
- "sha256": "1a853dda42fee5ebfc7240e7ede0454bd06d558aad4e8020f297a695c17f8ed8"
24
+ "sha256": "fb7abeca06e3c06c0a4dc346c86e0b1dad5056ef1c442a99feab4cc2b5ae187f"
25
25
  },
26
26
  {
27
27
  "path": "GxMcp.Gateway.exe",
28
28
  "size": 162304,
29
- "sha256": "50d2195c03a4f013e1b6ecb6325fa37474e551c81f7368f858a5bfcf0a568a24"
29
+ "sha256": "e829a6ba15543bf92c65d1ab59bce6c480133e622de30e3d33c18cf09604911b"
30
30
  },
31
31
  {
32
32
  "path": "nexus-ide.vsix",
33
- "size": 1325108,
34
- "sha256": "52bb58f43a7278c3fea90d5d0e541bee82ce9212caf9f9e6edc8e8070df3a5f3"
33
+ "size": 1325111,
34
+ "sha256": "b872a9df865037e84d2188247d374485a4de2681d2a4c861a5e411a1c5b7dda2"
35
35
  },
36
36
  {
37
37
  "path": "tool_definitions.json",
@@ -40,8 +40,8 @@
40
40
  },
41
41
  {
42
42
  "path": "worker/GxMcp.Worker.exe",
43
- "size": 4590080,
44
- "sha256": "bfe06ca5a6cbe2995105646b01608a0c9fab5b3699d05e1f017e69207e147b70"
43
+ "size": 4594688,
44
+ "sha256": "1427ffb13fd69b0f72ea3bac949f53dd67f510d327426dd4b1c9ef55989b5eaf"
45
45
  }
46
46
  ]
47
47
  }
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "schemaVersion": "gxmcp-provenance/1",
3
- "version": "4.0.0",
4
- "sourceCommit": "62272a9c499ff02698c5b3300d64e294f888f4fa",
3
+ "version": "4.0.1",
4
+ "sourceCommit": "290aff51e3a7c810619eaed2cc5059622eb0939b",
5
5
  "sourceCommitPolicy": "exact-tag",
6
6
  "components": [
7
7
  {
8
8
  "name": "genexus-mcp",
9
9
  "lockfile": "package-lock.json",
10
10
  "size": 38804,
11
- "sha256": "8fe3effecc9074ba753d819c4a1c2607f64cb80d880444f2ab2d586e73b6ee15"
11
+ "sha256": "db0291b993484bcc255896278ba1416ebaaae00b4afb0d97b73e357d41f67016"
12
12
  },
13
13
  {
14
14
  "name": "nexus-ide",
15
15
  "lockfile": "src/nexus-ide/package-lock.json",
16
16
  "size": 179503,
17
- "sha256": "5f51a13844440860665aa8dbe0c978ba0c573a2bf1de025cf0e76f3961af24f2"
17
+ "sha256": "030671cb319b730ab2c6893ff540b8809e7aefc7df1d2b97631a46315786c977"
18
18
  }
19
19
  ]
20
20
  }
Binary file
Binary file
Binary file