genexus-mcp 3.6.0 → 3.7.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.
- package/README.md +136 -24
- package/cli/commands/axi.js +311 -64
- package/cli/lib/config.js +129 -32
- package/cli/run.test.js +258 -0
- package/config/gx-versions.json +5 -3
- package/package.json +2 -2
- package/publish/GxMcp.Gateway.deps.json +2 -2
- package/publish/GxMcp.Gateway.dll +0 -0
- package/publish/GxMcp.Gateway.exe +0 -0
- package/publish/config/gx-versions.json +5 -3
- package/publish/config.json +6 -6
- package/publish/gxmcp-manifest.json +10 -10
- package/publish/gxmcp-sbom.json +4 -4
- package/publish/tool_definitions.json +5 -5
- package/publish/worker/GxMcp.Worker.exe +0 -0
- package/publish/worker/GxMcp.Worker.exe.config +12 -0
- package/publish/worker/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
- package/publish/worker/Microsoft.Bcl.HashCode.dll +0 -0
- package/publish/worker/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- package/publish/worker/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- package/publish/worker/Npgsql.dll +0 -0
- package/publish/worker/System.Buffers.dll +0 -0
- package/publish/worker/System.Collections.Immutable.dll +0 -0
- package/publish/worker/System.Diagnostics.DiagnosticSource.dll +0 -0
- package/publish/worker/System.Memory.dll +0 -0
- package/publish/worker/System.Numerics.Vectors.dll +0 -0
- package/publish/worker/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/publish/worker/System.Text.Encodings.Web.dll +0 -0
- package/publish/worker/System.Text.Json.dll +0 -0
- package/publish/worker/System.Threading.Channels.dll +0 -0
- package/publish/worker/System.Threading.Tasks.Extensions.dll +0 -0
- package/publish/worker/System.ValueTuple.dll +0 -0
- package/publish/worker/config/gx-versions.json +5 -3
- package/publish/worker/gx-versions.json +5 -3
|
@@ -63,15 +63,17 @@
|
|
|
63
63
|
"driver": "com-gxpublic",
|
|
64
64
|
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\GeneXus 9.0",
|
|
65
65
|
"registryNames": ["GeneXus 9.0"],
|
|
66
|
-
"legacyRegistryVersions": ["9.0"]
|
|
66
|
+
"legacyRegistryVersions": ["9.0"],
|
|
67
|
+
"legacySetupVersions": ["90"]
|
|
67
68
|
},
|
|
68
69
|
{
|
|
69
70
|
"major": "8",
|
|
70
71
|
"displayName": "GeneXus 8.0",
|
|
71
72
|
"driver": "com-gxpublic",
|
|
72
|
-
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\
|
|
73
|
+
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\gxw80",
|
|
73
74
|
"registryNames": ["GeneXus 8.0"],
|
|
74
|
-
"legacyRegistryVersions": ["8.0"]
|
|
75
|
+
"legacyRegistryVersions": ["8.0"],
|
|
76
|
+
"legacySetupVersions": ["80"]
|
|
75
77
|
}
|
|
76
78
|
]
|
|
77
79
|
}
|
package/publish/config.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
+
"GatewayMode": "stdio-isolated",
|
|
3
|
+
"ConfigSchemaVersion": 2,
|
|
2
4
|
"GeneXus": {
|
|
3
5
|
"WorkerExecutable": "worker\\\\GxMcp.Worker.exe",
|
|
4
6
|
"InstallationPath": "C:\\Program Files (x86)\\GeneXus\\GeneXus18"
|
|
5
7
|
},
|
|
6
8
|
"Server": {
|
|
9
|
+
"WorkerIdleTimeoutMinutes": 5,
|
|
10
|
+
"HttpPort": 0,
|
|
7
11
|
"TerseResponses": true,
|
|
8
12
|
"SessionIdleTimeoutMinutes": 10,
|
|
9
|
-
"McpStdio": true,
|
|
10
|
-
"HttpPort": 0,
|
|
11
13
|
"EmitStructuredContent": false,
|
|
12
|
-
"
|
|
14
|
+
"McpStdio": true
|
|
13
15
|
},
|
|
14
|
-
"ConfigSchemaVersion": 2,
|
|
15
16
|
"Environment": {
|
|
16
17
|
"ResolutionPolicy": "strict"
|
|
17
|
-
}
|
|
18
|
-
"GatewayMode": "stdio-isolated"
|
|
18
|
+
}
|
|
19
19
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "gxmcp-release-manifest/1",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"sourceCommit": "
|
|
3
|
+
"version": "3.7.0",
|
|
4
|
+
"sourceCommit": "1c6d0fb48c98ce2e88b5914a8b6f11510a0c9691",
|
|
5
5
|
"sourceCommitPolicy": "exact-tag",
|
|
6
|
-
"generatedAtUtc": "2026-09-
|
|
6
|
+
"generatedAtUtc": "2026-09-19T05:58:25.2316950Z",
|
|
7
7
|
"runtime": {
|
|
8
8
|
"gateway": "net10.0-windows",
|
|
9
9
|
"worker": "net48-x86",
|
|
@@ -15,28 +15,28 @@
|
|
|
15
15
|
"2026-07-28"
|
|
16
16
|
],
|
|
17
17
|
"schema": "tool_definitions.json",
|
|
18
|
-
"schemaSha256": "
|
|
18
|
+
"schemaSha256": "de5ac0b8955a64065f4d9468b6b4e66610f476e43c9732c1c233b49feee5ddbb",
|
|
19
19
|
"provenance": "gxmcp-sbom.json",
|
|
20
20
|
"artifacts": [
|
|
21
21
|
{
|
|
22
22
|
"path": "gxmcp-sbom.json",
|
|
23
23
|
"size": 590,
|
|
24
|
-
"sha256": "
|
|
24
|
+
"sha256": "7d32db9bbf7bab298561c8e5fe9f2e2518e4ac716daa371aa4dbd752ce61b300"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"path": "GxMcp.Gateway.exe",
|
|
28
28
|
"size": 162304,
|
|
29
|
-
"sha256": "
|
|
29
|
+
"sha256": "3507a7154b251a53deaadbb524298b1958ef017f4d59fc3ac369f04652ec9ac2"
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"path": "tool_definitions.json",
|
|
33
|
-
"size":
|
|
34
|
-
"sha256": "
|
|
33
|
+
"size": 126023,
|
|
34
|
+
"sha256": "de5ac0b8955a64065f4d9468b6b4e66610f476e43c9732c1c233b49feee5ddbb"
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"path": "worker/GxMcp.Worker.exe",
|
|
38
|
-
"size":
|
|
39
|
-
"sha256": "
|
|
38
|
+
"size": 3414016,
|
|
39
|
+
"sha256": "9c1bb1f040661936e367706f353e5da14d0cc2e3ac0217b3b0ae1b5919fc5ce6"
|
|
40
40
|
}
|
|
41
41
|
]
|
|
42
42
|
}
|
package/publish/gxmcp-sbom.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "gxmcp-provenance/1",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"sourceCommit": "
|
|
3
|
+
"version": "3.7.0",
|
|
4
|
+
"sourceCommit": "1c6d0fb48c98ce2e88b5914a8b6f11510a0c9691",
|
|
5
5
|
"sourceCommitPolicy": "exact-tag",
|
|
6
6
|
"components": [
|
|
7
7
|
{
|
|
8
8
|
"name": "genexus-mcp",
|
|
9
9
|
"lockfile": "package-lock.json",
|
|
10
10
|
"size": 39914,
|
|
11
|
-
"sha256": "
|
|
11
|
+
"sha256": "fc5b025693e240196ee3932948f71a7e6b0b6ff4b905291334afc57c174e76a3"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"name": "nexus-ide",
|
|
15
15
|
"lockfile": "src/nexus-ide/package-lock.json",
|
|
16
16
|
"size": 274983,
|
|
17
|
-
"sha256": "
|
|
17
|
+
"sha256": "eafe95e8b05933d2894b0cef1fe824aeca025ea663a400a10744c97707787469"
|
|
18
18
|
}
|
|
19
19
|
]
|
|
20
20
|
}
|
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
{"name":"genexus_run_object","description":"Resolve runtime URL for an object (webRoot + aspx + encoded args). gamSession='auto'|{user,pass,...} captures GAM cookies. Does NOT open a browser. dryRun=true returns the resolved URL without performing GAM login.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"args":{"type":"array","items":{"type":"string"},"description":"Positional parameter values."},"gamSession":{"description":"'auto' (use GXMCP_GAM_USER/PASS env) or {user, pass, repository?, loginUrl?}."},"dryRun":{"type":"boolean","default":false,"description":"When true, returns the resolved URL without performing the GAM login step."},"kb":{"type":"string","description":"KB alias."}},"required":["name"],"examples":[{"name":"WPMain"},{"name":"WPCustomer","args":["42"]}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},
|
|
19
19
|
{"name":"genexus_format","description":"Format a GeneXus code snippet using worker rules.","inputSchema":{"type":"object","properties":{"code":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["code"],"examples":[{"code":"for each Customer where CustomerId = &Id\n &Name = CustomerName\nendfor"}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
|
|
20
20
|
{"name":"genexus_gam","description":"GAM / integrated-security provisioning via the SDK's IIntegratedSecurityService — distinct from genexus_security (env-scan/regex audit). action=status (default) is read-only: IsEnabledIntegratedSecurity + GAM-DB-reorganize flag. action=define_api / action=deploy are DESTRUCTIVE — they create/alter GAM security tables in the KB's datastore; no default reaches them, action must be set explicitly.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["status","define_api","deploy"],"description":"status (default, read-only) | define_api | deploy."},"force":{"type":"boolean","description":"define_api only: force flag passed to DefineAPI."},"forceTableCreation":{"type":"boolean","description":"deploy only: force GAM table creation."},"rebuild":{"type":"boolean","description":"deploy only: rebuild flag."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"status"},{"action":"deploy","forceTableCreation":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
21
|
-
{"name":"genexus_properties","description":"Read/update object properties. action=get|set|move. move snapshots every
|
|
21
|
+
{"name":"genexus_properties","description":"Read/update object properties. action=get|set|move. move snapshots every part, checks baseVersion, verifies in and after the SDK transaction, rolls back divergence. Use destination (or folder/module aliases) for a Folder/Module or targetModule; destKind disambiguates equal names. dryRun does not save or change the token. Move never runs lifecycle or tests. Description is the WebPanel/Popup title-bar text. Use genexus_layout set_property for layout controls.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get","set","move"],"description":"Object-property operation to read or change metadata or move the object."},"name":{"type":"string"},"type":{"type":"string","description":"Optional object type disambiguator."},"control":{"type":"string","description":"Optional. Layout control name (e.g. BtnConfirmar), variable name with & prefix (e.g. &Alu2RegProf), or attribute name."},"propertyName":{"type":"string","description":"Filter for action=get (single property, comma-separated, or * wildcard); property to change for action=set."},"propertyNames":{"type":"array","items":{"type":"string"},"description":"action=get: list of property names to return."},"query":{"type":"string","description":"action=get: filter property names by substring or * wildcard."},"projection":{"type":"string","enum":["minimal","standard","full"],"description":"action=get: compact property subset (minimal, standard, full). Defaults to full."},"value":{"type":"string"},"properties":{"type":"object","description":"Batch set: map of propertyName to value applied in 1 transaction."},"destination":{"type":"string","description":"move: target Folder/Module name (auto-detects kind)."},"targetModule":{"type":"string","description":"move: typed alias for a Module destination."},"folder":{"type":"string","description":"move: destination alias with Folder kind."},"module":{"type":"string","description":"move: destination alias with Module kind."},"destKind":{"type":"string","enum":["Folder","Module"],"description":"move: disambiguate when a Folder and Module share a name."},"dryRun":{"type":"boolean","description":"move: preview from/to and preserved parts without persisting."},"baseVersion":{"type":"string","description":"move: opaque optimistic concurrency token returned by a prior read."},"validationMode":{"type":"string","enum":["specify"],"description":"Issue #60: with action=set, run the inline Specify pass (Spec+Gen, no Compile) after the property write, returning structured spc*/gen* diagnostics in the same call. Combines with rollbackOnFailure."},"rollbackOnFailure":{"type":"boolean","description":"move: attempt compensating snapshot restoration if the SDK transaction rollback is insufficient (default true). set+validationMode=specify: request rollback after validation failure."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"],"examples":[{"action":"get","name":"MyPanel","propertyName":"Description"},{"action":"get","name":"MyDomain","query":"*Type*"},{"action":"get","name":"MyDomain","projection":"minimal"},{"action":"move","name":"InvoiceHelper","type":"Procedure","targetModule":"operacional","baseVersion":"<versionToken from genexus_read>","dryRun":true,"rollbackOnFailure":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
22
22
|
{"name":"genexus_structure","description":"Read or write the structure/data-model of GeneXus objects. update_visual now snapshots every part, checks optimistic concurrency, saves and re-reads the Transaction, and restores the complete snapshot when persistence or authored-part verification fails. Default form projections are allowed to follow Structure; user-authored forms are invariant. No structure action implicitly runs Specify, Generate, Build, Rebuild, compilation, reorganization, execution, or tests. Other actions cover indexes, attributes (set_attribute operates on global attribute definitions; use update_visual/move_attribute/remove_attribute for Transaction structure), levels, Domains (including enumValues), SubType Groups and subtype consistency (check_subtypes). For layout control trees use genexus_layout.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get_visual","update_visual","get_indexes","create_index","drop_index","set_attribute","set_level","set_domain","get_logic","update_group","move_attribute","remove_attribute","check_subtypes"],"description":"Structure operation to execute."},"name":{"type":"string","description":"Object name. update_visual/move_attribute: Transaction name; create_index/get_indexes: Transaction or Table name."},"module":{"type":"string","description":"update_visual/move_attribute optional: Transaction module."},"attribute":{"type":"string","description":"move_attribute: existing attribute to reorder by native SDK identity."},"before":{"type":"string","description":"move_attribute: place attribute before this attribute in the same level. Mutually exclusive with after/position."},"after":{"type":"string","description":"move_attribute: place attribute after this attribute in the same level. Mutually exclusive with before/position."},"position":{"type":"integer","minimum":0,"description":"move_attribute: zero-based final attribute position in the level. Mutually exclusive with before/after."},"level":{"type":"string","description":"move_attribute: root (default) or an unambiguous subordinate level name."},"levelPath":{"type":"array","items":{"type":"string"},"description":"move_attribute: nested level path, e.g. [\"Item\",\"Operation\"]."},"dryRun":{"type":"boolean","default":false,"description":"update_visual/move_attribute/create_index: validate and return the projected diff without changing any object, Attribute, hash, or version."},"baseVersion":{"type":"string","description":"Optimistic-concurrency token for update_visual/move_attribute/create_index. Stale state returns VersionConflict before mutation."},"expectedVersion":{"type":"string","description":"Alias of baseVersion for update_visual."},"payload":{"type":"object","description":"update_visual (Transaction):{children:[...]}; update_visual (SDT):{isCollection?,collectionItemName?,children:[{name,type?,length?,decimals?,basedOnDomain?,basedOnAttribute?,isCollection?,isLevel?,children?}]}. update_group:{members:[{name,subtypeOf}],remove?:[name]}. create_index:{attributes:[\"Attr\"],unique?:true,name?,order?:\"Ascending\"|\"Descending\"}. Other actions keep their existing typed payloads."},"validationMode":{"type":"string","enum":["specify"],"description":"Explicitly run the inline Specify pass after selected writes. Never runs unless requested."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"update_visual, move_attribute and create_index capture snapshots and verify rollback after any save or re-read divergence."},"kb":{"type":"string","description":"KB alias."},"type":{"type":"string","description":"Optional object type disambiguator (e.g. 'Transaction', 'Table') when multiple objects share the same name."}},"required":["action","name"],"examples":[{"action":"update_visual","name":"OrderRecord","module":"Operations","dryRun":true,"expectedVersion":"<versionToken>","payload":{"children":[{"name":"OrderId"},{"name":"OrderAverageTime"}]}},{"action":"move_attribute","name":"SampleTransaction","attribute":"SampleSubtypeId","after":"SampleReferenceId","level":"root","dryRun":true},{"action":"get_indexes","name":"Customer"},{"action":"create_index","name":"Country","dryRun":true,"baseVersion":"<get_indexes versionToken>","payload":{"name":"UCountryName","attributes":["CountryName"],"unique":true},"rollbackOnFailure":true},{"action":"set_attribute","name":"CustomerBalance","payload":{"formula":"sum(SampleTransactionAmount)"}},{"action":"set_level","name":"Customer","payload":{"descriptionAttribute":"CustomerName"}},{"action":"update_group","name":"SampleSubtypeGroup","payload":{"members":[{"name":"SampleId","subtypeOf":"BaseId"}]}}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
23
23
|
{"name":"genexus_authoring","description":"Author members of object types the structure DSL doesn't cover. add_external_method / add_external_property add a method (with parameters) or property to an External Object; add_menu_option adds an option to a Menu (target = a KB object to call); add_condition adds a filter expression to a Data Selector. name = the target object.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["add_external_method","add_external_property","add_menu_option","add_condition"],"description":"Authoring operation to add a typed member or condition to a supported object."},"name":{"type":"string","description":"ExternalObject / Menu / DataSelector name."},"payload":{"type":"object","description":"add_external_method:{name,returnType?,parameters?:[{name,type?,inout?}]}. add_external_property:{name,type?}. add_menu_option:{description,target?,optionCode?}. add_condition:{source}."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"],"examples":[{"action":"add_external_property","name":"MyExternalObject","payload":{"name":"apiKey","type":"Character"}},{"action":"add_menu_option","name":"MainMenu","payload":{"description":"Customers","target":"CustomerWW"}},{"action":"add_condition","name":"ActiveCustomers","payload":{"source":"CustomerActive = True"}}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
24
24
|
{"name":"genexus_layout","description":"Layout/WebForm: get_tree, set_property, find_controls, inspect_surface, scan_mutators. Properties: genexus_properties; structure: genexus_structure get_visual.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get_tree","set_property","find_controls","set_properties","inspect_surface","get_preview","scan_mutators","rename_printblock","add_printblock","delete_printblock","list_controls","design_system"],"description":"Layout/WebForm operation to perform."},"name":{"type":"string","description":"Target object name (WebPanel, Transaction, Procedure)."},"control":{"type":"string","description":"Control name within the layout or WebForm."},"propertyName":{"type":"string","description":"Property name to modify (e.g. Caption, Visible, Enabled, Class)."},"value":{"type":"string","description":"Value to assign to the specified property."},"query":{"type":"string","description":"find_controls: search query matching control names or captions."},"changes":{"type":"array","description":"set_properties: batch array of {control, propertyName, value} objects.","items":{"type":"object","properties":{"control":{"type":"string","description":"Control name."},"propertyName":{"type":"string","description":"Property name."},"value":{"type":"string","description":"Property value."}},"required":["control","propertyName","value"]}},"limit":{"type":"integer","description":"find_controls/list_controls: maximum results to return."},"currentName":{"type":"string","description":"rename_printblock: existing printblock name."},"newName":{"type":"string","description":"rename_printblock: new printblock name."},"printBlockName":{"type":"string","description":"add_printblock/delete_printblock: name of the printblock."},"height":{"type":"integer","description":"add_printblock: height of the new printblock."},"kb":{"type":"string","description":"KB alias."}},"required":["action"],"examples":[{"action":"get_tree","name":"WPMain"},{"action":"find_controls","name":"WPMain","query":"Button"}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
25
25
|
{"name":"genexus_doc","description":"Use to generate structured docs (wiki, dependency graph, health reports). Don't use for programmatic analysis (see genexus_analyze) or source (see genexus_read).","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["wiki","visualize","health"],"description":"wiki: generate markdown docs; visualize: generate dependency graph; health: produce health report."},"target":{"type":"string","description":"Object or domain name (required for wiki/visualize)."},"kb":{"type":"string","description":"KB alias for health or other worker-backed document actions."}},"required":["action"],"examples":[{"action":"wiki","target":"Customer"},{"action":"health"}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
26
26
|
{"name":"genexus_search_source","description":"Regex/semantic search across Procedure/DataProvider/WebPanel/Transaction source. Restrict a scan by object name, persisted GUID, EntityKey, or module/folder-qualified path. Requires the KB index to be Ready — check genexus_lifecycle action=status if results look empty.","inputSchema":{"type":"object","properties":{"callee":{"type":"string","description":"Method/function name (qualified or unqualified)."},"argMatches":{"type":"object","description":"Positional arg index to expected literal text."},"pattern":{"type":"string"},"typeFilter":{"type":"string"},"objectName":{"type":"string","description":"Restrict the scan to these exact object name(s), comma-separated. Makes a search inside one known object O(object) not O(KB), and bypasses the type whitelist."},"guid":{"type":"string","description":"Persisted object GUID from genexus_list_objects."},"entityKey":{"type":"string","description":"Typed GeneXus EntityKey from genexus_list_objects verbose output."},"path":{"type":"string","description":"Module/folder-qualified object path from genexus_list_objects."},"startIndex":{"type":"integer","description":"Legacy object-boundary resume. For a page that ended inside an object, prefer the opaque cursor returned in nextCursor."},"cursor":{"type":"string","description":"Opaque continuation token from nextCursor; preferred when a result page ended inside an object. Do not edit."},"timeoutMs":{"type":"integer","description":"Wall-clock budget (default 30000). Raise it to scan more objects per call."},"scope":{"type":"array","items":{"type":"string","enum":["source","rules","conditions","events","webForm","layout"]},"description":"Parts to scan with line-numbered context. Default [source]. webForm/layout scans the WebPanel/Transaction visual XML (control names, captions, classes, bindings)."},"fields":{"type":"array","items":{"type":"string","enum":["source","caption","description","parmNames","webForm"]},"description":"Whole-field metadata match (returns matchedValue, no line context). Default [source]. Prefer scope=[webForm] for line-context WebForm hits; use fields=[webForm] only for a coarse contains-match."},"maxResults":{"type":"integer"},"caseSensitive":{"type":"boolean"},"includeComments":{"type":"boolean"},"inline_read_top":{"type":"integer","description":"0-3. Inline reads of top N distinct objects in response."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"pattern":"ControlType=\"Radio\""},{"pattern":"for each","typeFilter":"Procedure","maxResults":20}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
|
|
27
|
-
{"name":"genexus_kb","description":"Manage open KBs, session selection, startup config, Knowledge Base creation, and GeneXus environments. create bootstraps a brand new KB via native MSBuild tasks; list/open/close/select/set_session_default/set_persistent_default/set_default operate on WorkerPool and session context; select sets active KB for current session only without mutating config; set_persistent_default explicitly persists startup default to config.json and returns persistedTo; set_default is a legacy persistent default operation; set_startup/get_startup mirror IDE 'Set As Startup Object'; list_environments lists all configured environments; get_environment reads the active environment; set_environment selects an environment.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["list","open","close","select","set_session_default","set_persistent_default","set_default","set_startup","get_startup","list_environments","get_environment","set_environment","create"],"description":"KB pool or startup-selection operation to perform."},"alias":{"type":"string","description":"KB alias. open: auto from path basename if omitted."},"kb":{"type":"string","description":"KB alias for environment actions; required when more than one Worker is open."},"path":{"type":"string","description":"Absolute KB path (required for create and for open if alias not in config)."},"name":{"type":"string","description":"Object name (required for set_startup) or Knowledge Base name (optional for create, defaults to directory name)."},"environment":{"type":"string","description":"Environment name/folder (required for set_environment), e.g. development."},"persist":{"type":"boolean","description":"Persist KB to config.json for create and legacy set_default (default false for create, default true for set_default)."},"dbServer":{"type":"string","description":"create only: SQL Server instance name (default (LocalDB)\\MSSQLLocalDB)."},"dbName":{"type":"string","description":"create only: target database name (default gx_kb_<name>)."},"dbUser":{"type":"string","description":"create only: database user for SQL authentication (optional)."},"dbPassword":{"type":"string","description":"create only: database password for SQL authentication (optional)."},"template":{"type":"string","description":"create only: generator template path or name, e.g. CSharp/csharp.kbtemplate (optional)."},"sdkPath":{"type":"string","description":"create only: explicit GeneXus SDK installation directory (optional)."},"major":{"type":"string","description":"create
|
|
27
|
+
{"name":"genexus_kb","description":"Manage open KBs, session selection, startup config, Knowledge Base creation, and GeneXus environments. create bootstraps a brand new KB via native MSBuild tasks; list/open/close/select/set_session_default/set_persistent_default/set_default operate on WorkerPool and session context; select sets active KB for current session only without mutating config; set_persistent_default explicitly persists startup default to config.json and returns persistedTo; set_default is a legacy persistent default operation; set_startup/get_startup mirror IDE 'Set As Startup Object'; list_environments lists all configured environments; get_environment reads the active environment; set_environment selects an environment.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["list","open","close","select","set_session_default","set_persistent_default","set_default","set_startup","get_startup","list_environments","get_environment","set_environment","create"],"description":"KB pool or startup-selection operation to perform."},"alias":{"type":"string","description":"KB alias. open: auto from path basename if omitted."},"kb":{"type":"string","description":"KB alias for environment actions; required when more than one Worker is open."},"path":{"type":"string","description":"Absolute KB path (required for create and for open if alias not in config)."},"driver":{"type":"string","enum":["native-sdk","dotnet-reflection","com-gxpublic"],"description":"open only: per-KB driver override. Use com-gxpublic for classic GeneXus 8/9 KBs; otherwise omit to resolve the catalog driver."},"installationPath":{"type":"string","description":"open only: per-KB GeneXus installation/provider root. For GX8 this is typically the folder containing gxw32.exe (for example ...\\ARTech\\GeneXus\\gxw80)."},"name":{"type":"string","description":"Object name (required for set_startup) or Knowledge Base name (optional for create, defaults to directory name)."},"environment":{"type":"string","description":"Environment name/folder (required for set_environment), e.g. development."},"persist":{"type":"boolean","description":"Persist KB to config.json for create and legacy set_default (default false for create, default true for set_default)."},"dbServer":{"type":"string","description":"create only: SQL Server instance name (default (LocalDB)\\MSSQLLocalDB)."},"dbName":{"type":"string","description":"create only: target database name (default gx_kb_<name>)."},"dbUser":{"type":"string","description":"create only: database user for SQL authentication (optional)."},"dbPassword":{"type":"string","description":"create only: database password for SQL authentication (optional)."},"template":{"type":"string","description":"create only: generator template path or name, e.g. CSharp/csharp.kbtemplate (optional)."},"sdkPath":{"type":"string","description":"create only: explicit GeneXus SDK installation directory (optional)."},"major":{"type":"string","description":"open/create: target GeneXus major version, e.g. '8', '16', '17', or '18' (optional). For open, use with driver/installationPath to select a legacy SDK per KB."},"openAfterCreate":{"type":"boolean","description":"create only: automatically open the KB and start a Worker instance after creation (default true)."},"dryRun":{"type":"boolean","description":"create only: preview KB creation plan without creating directories or running MSBuild (default false)."}},"required":["action"],"examples":[{"action":"open","path":"C:\\KBs\\MyKb"},{"action":"create","path":"C:\\KBs\\NewKb","major":"18"},{"action":"select","alias":"MyKb"},{"action":"set_persistent_default","alias":"MyKb"},{"action":"list"},{"action":"list_environments"},{"action":"get_environment"},{"action":"set_environment","environment":"development"}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
28
28
|
{"name":"genexus_navigation","description":"View navigation report (IDE Right-click → View Navigation). latest=true reads the most recent report from .gx/navigation-cache; latest=false runs fresh and refreshes that per-KB cache.","inputSchema":{"type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["view"],"description":"Navigation report operation to execute."},"name":{"type":"string"},"latest":{"type":"boolean","default":false,"description":"Read the most recent cached navigation when true; when false, run fresh and refresh the per-KB navigation cache."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"view","name":"Customer"},{"action":"view","name":"Customer","latest":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
29
29
|
{"name":"genexus_api","description":"Inspect HTTP procedures and native API routes. action=list|describe|routes_inspect|routes_clone|routes_update|snapshot|diff_baseline|export_openapi|import_openapi. API route writes use typed ServiceGroupSource, optimistic versioning, full snapshot, rollback and post-save reread; no lifecycle operation is implicit.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["list","describe","routes_inspect","routes_clone","routes_update","snapshot","diff_baseline","export_openapi","import_openapi"],"description":"API introspection, route-editing, or baseline operation to perform."},"api":{"type":"string","description":"API name (routes_inspect|routes_clone|routes_update)."},"sourcePrefix":{"type":"string","description":"Source method/path prefix, e.g. inbound."},"targetPrefix":{"type":"string","description":"Target method/path prefix, e.g. reverse."},"routes":{"type":"array","items":{"type":"object","required":["sourceMethod","method","route"],"additionalProperties":false,"properties":{"sourceMethod":{"type":"string"},"method":{"type":"string"},"route":{"type":"string","pattern":"^/"},"verb":{"type":"string"}}}},"expectedVersion":{"type":"string","description":"versionToken returned by the preceding dry run or inspection."},"versionToken":{"type":"string","description":"Backward-compatible alias for expectedVersion; pass the token returned by the preceding dry run or inspection."},"dryRun":{"type":"boolean","default":true,"description":"routes_clone/routes_update: preview first; false writes only with expectedVersion or versionToken."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"Restore the complete API snapshot when post-save verification diverges."},"operation":{"type":"string","description":"Operation value carried by the reused request contract, e.g. REVERSE."},"target":{"type":"string","description":"Procedure or API name (action=describe)."},"name":{"type":"string","description":"Baseline name (action=snapshot)."},"baseline":{"type":"string","description":"Baseline name under .gx/api-baselines/ or absolute path (action=diff_baseline)."},"pathPrefix":{"type":"string","description":"Folder prefix filter (action=list/export_openapi)."},"title":{"type":"string","description":"export_openapi: OpenAPI info.title."},"version":{"type":"string","description":"export_openapi: OpenAPI info.version."},"spec":{"type":"string","description":"import_openapi: OpenAPI 3 JSON document."},"content":{"type":"string","description":"Alias of spec for import_openapi."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list"},{"action":"routes_inspect","api":"OrdersApi"},{"action":"routes_clone","api":"OrdersApi","sourcePrefix":"inbound","targetPrefix":"reverse","operation":"REVERSE","dryRun":true,"rollbackOnFailure":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
30
|
-
|
|
30
|
+
{"name":"genexus_apply_pattern","description":"Apply a pattern (e.g. WorkWithPlus) to a parent (IDE Right-click → Apply Pattern). Transaction=family-gen; WebPanel/WebComponent/SDPanel=direct-attach (pass settings.template). mode=diagnose (or dryRun=true) returns findings without mutating. Working on Smart Devices? → resources/read uri=genexus://kb/skills/sd-panel-mobile for Main object semantics. mode=actions manages typed grid and form-level actions, persists and re-reads PatternInstance, supports dryRun diff and rollbackOnFailure, and never adds security permissions automatically.","inputSchema":{"type":"object","required":["name","pattern"],"properties":{"name":{"type":"string","description":"Target KBObject name."},"pattern":{"type":"string","description":"Pattern key ('WorkWithPlus') or GUID."},"mode":{"type":"string","enum":["apply","diagnose","actions"],"description":"apply (default) mutates; diagnose returns reasons without applying. actions exposes typed WWP grid, form-level, and action-group editing."},"action":{"type":"string","enum":["list_actions","add_grid_action","add_user_action","update_action","move_action","remove_action"],"description":"mode=actions operation."},"group":{"type":"string","description":"Action group name (e.g. TableActions)."},"containerName":{"type":"string","description":"Form-level action container name, usually TableActions."},"actionName":{"type":"string","description":"Name of the action to add, update, or remove. Form-level actions derive the GeneXus event Do<actionName>."},"caption":{"type":"string","description":"Caption for add_user_action."},"newGroup":{"type":"string","description":"move_action: destination action group."},"position":{"type":"integer","minimum":0,"description":"zero-based index among actions in group."},"procedure":{"type":"string","description":"Target Procedure to execute on action click."},"selection":{"type":"string","enum":["current","multiple"],"description":"Execution scope: current (single record) or multiple."},"enabledWhen":{"type":"string","description":"Condition expression for action enablement."},"visibleWhen":{"type":"string","description":"Condition expression for action visibility."},"icon":{"type":"string","description":"Action icon name or class."},"description":{"type":"string","description":"Action tooltip / description text."},"confirmation":{"type":"string","description":"Confirmation message prompt."},"confirmTitle":{"type":"string","description":"Confirmation dialog title."},"settings":{"type":"object","description":"Pattern-instance settings tree."},"reapply":{"type":"boolean","default":false,"description":"Re-run on existing instance."},"validate":{"type":"boolean","default":false,"description":"apply mode only: optionally build the generated host. mode=actions never invokes Specify, Generate, Build, Rebuild, compilation, or tests."},"dryRun":{"type":"boolean","default":false,"description":"Alias for mode=diagnose. When true, returns pattern findings without mutating. With mode=actions it previews the typed action diff."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"On a failed write or post-save verification, attempt to restore the original PatternInstance and report the rollback result."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"name":"Customer","pattern":"WorkWithPlus"},{"name":"Customer","pattern":"WorkWithPlus","mode":"diagnose"},{"name":"Customer","pattern":"WorkWithPlus","mode":"actions","action":"add_grid_action","group":"Actions","actionName":"Approve","procedure":"ApproveCustomer","dryRun":true},{"name":"WorkWithPlusImpressaoConfiguracao","pattern":"WorkWithPlus","mode":"actions","action":"add_user_action","containerName":"TableActions","actionName":"BaixarConfiguracao","caption":"Baixar Configuração","dryRun":true,"rollbackOnFailure":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
31
31
|
{"name":"genexus_edit_and_build","description":"Edit + rebuild callers in one call. Returns edit diff + impact + a build block that may include taskId/pollTarget for lifecycle follow-up. validate=true/validationMode=specify validates the saved object; rollbackOnFailure restores its pre-write snapshot on specification failure.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Target object name."},"part":{"type":"string","description":"Part (Source, Rules, ...)."},"content":{"type":"string","description":"New content. For mode=patch may be {find,replace} object."},"patch":{"description":"Same shape as genexus_edit.patch. Auto-sets mode=patch."},"mode":{"type":"string","enum":["full","patch"],"default":"patch"},"type":{"type":"string","description":"Disambiguates ambiguous names."},"dryRun":{"type":"boolean","default":false},"validate":{"type":"boolean","default":false},"validationMode":{"type":"string","enum":["specify"],"default":"specify"},"rollbackOnFailure":{"type":"boolean","default":true},"buildIncludeCallees":{"type":"string","enum":["none","direct","transitive"],"default":"direct"},"buildPlanCap":{"type":"integer","default":200},"waitForIndex":{"type":"boolean","default":true},"waitTimeoutMs":{"type":"integer","default":30000},"visualVerify":{"type":"boolean","default":false,"description":"Post-edit headless screenshot + pixel-diff vs baseline. See tool-help."}},"required":["name","part"],"examples":[{"name":"Customer","part":"Source","patch":{"find":"oldValue","replace":"newValue"},"validate":true},{"name":"Customer","part":"Rules","mode":"patch","patch":{"find":"error(","replace":"msg("},"dryRun":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
32
32
|
{"name":"genexus_security","description":"Audit KB security. action=audit_gam scans GAM/env props; action=scan_secrets greps Source for credential-shaped literals; action=scan_native drives the native GeneXus Security Scanner (ISecurityScannerService). Returns findings with severity.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["audit_gam","scan_secrets","scan_native"],"description":"audit_gam: scans GAM and environment properties; scan_secrets: greps Source for credentials; scan_native: drives native GeneXus Security Scanner."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"audit_gam"},{"action":"scan_secrets"}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
|
|
33
33
|
{"name":"genexus_doctor","description":"Health check: GX install, KB state, worker, cache age, recent telemetry. Paste output for triage when something feels off. When more than one KB is open, pass kb=<alias> to pick which one to diagnose.","inputSchema":{"type":"object","properties":{"kb":{"type":"string","description":"Alias of the KB to diagnose. Optional; required only when multiple KBs are open (otherwise the single open / default KB is used)."}},"additionalProperties":false,"examples":[{},{"kb":"mykb"}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
{"name":"genexus_module","description":"GeneXus Module Manager over the SDK's IModuleManagerService. action=list (read-only: installed Module KB objects) | install (opcFile=<path to .opc file>, or name[+version] to install a named module) | install_builtin (name=<built-in module>) | update (name+version) | package/publish/restore (module lifecycle) | add_modules_server/search_modules_in_servers (configured module servers).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["install","install_builtin","update","list","package","publish","restore","list_modules_servers","add_modules_server","search_modules_in_servers"],"description":"Module Manager operation to inspect, install, or update a module."},"opcFile":{"type":"string","description":"install: absolute path to a .opc module package file."},"name":{"type":"string","description":"install (by name)/install_builtin/update: module name."},"version":{"type":"string","description":"install (by name)/update: target module version."},"outputPath":{"type":"string","description":"package: output directory; publish: output .opc file."},"outputDirectory":{"type":"string","description":"Alias of outputPath for package."},"rebuild":{"type":"boolean","description":"package: include a rebuild before packaging."},"confirm":{"type":"boolean","description":"Required for restore/publish/package when the operation changes KB or publishes externally."},"server":{"type":"string","description":"restore/search_modules_in_servers: configured module server name."},"serverType":{"type":"string","enum":["Directory","Nexus","NexusNuGet","ModuleServer"],"description":"add_modules_server: native ServerType."},"source":{"type":"string","description":"add_modules_server: server URL or directory source."},"filter":{"type":"string","description":"search_modules_in_servers: module name/version filter."},"preserveConfiguration":{"type":"boolean","description":"add_modules_server: preserve the existing server configuration when supported."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list"},{"action":"install_builtin","name":"GeneXusGAM"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
37
37
|
{"name":"genexus_merge","description":"Merge two (or three, with an ancestor) KB objects via the SDK's IMergeService. mode=objects only (mode=models is unsupported — needs multiple KBModel instances not available in this worker). Omit objectBase for a 2-way merge (ignoreConflicts applies); pass objectBase for a 3-way merge. dryRun (default true) reports what would merge via IComparerService WITHOUT writing; dryRun=false performs the merge and saves it. WRITE + destructive.","inputSchema":{"type":"object","required":["objectLeft","objectRight"],"properties":{"mode":{"type":"string","enum":["objects"],"description":"Only 'objects' is supported."},"objectLeft":{"type":"string"},"objectRight":{"type":"string"},"objectBase":{"type":"string","description":"Optional common ancestor. Omit for a 2-way merge; pass for a 3-way merge."},"type":{"type":"string","description":"Object type filter applied to all lookups, e.g. 'Transaction'."},"ignoreConflicts":{"type":"boolean","description":"2-way merge only: let the SDK auto-resolve conflicting parts instead of failing. Default false."},"dryRun":{"type":"boolean","default":true,"description":"true (default): report-only, no SDK MergeObjects call, nothing written. false: perform the merge and save it."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"objectLeft":"Customer","objectRight":"CustomerV2"},{"objectBase":"CustomerBase","objectLeft":"Customer","objectRight":"CustomerV2","dryRun":false}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
38
38
|
{"name":"genexus_gxserver","description":"GxServer (Team Development) sync. Read: status|pending|ignored|conflicts|history. pending lists locally-changed objects, each flagged ignoredForCommit (true = in the IDE 'Ignored Objects' tab, skipped by a full commit). ignored lists ONLY the excluded objects: commitIgnored (IDE Commit > Ignored Objects) + updateIgnored (IDE Update > Ignored Objects). Write (destructive; requires a GXserver-linked KB): commit (message; optional targets[] = commit ONLY those pending objects; reports committedObjects + remoteVersion) | update (applies changes into local KB; apply=false = download only; leaves conflicts flagged) | lock (target) | resolve (targets[] + strategy). theirs/automerge/update talk to the server and need creds via GXMCP_TEAMDEV_USER/PASSWORD env (url auto-resolves). Returns {connected:false} when KB is not linked.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["status","pending","ignored","conflicts","history","commit","update","lock","resolve","pipeline_list","pipeline_runs","pipeline_output","pipeline_run","pipeline_abort"],"description":"GXserver/Team Development or CI pipeline operation to perform."},"project":{"type":"string","description":"pipeline_*: CI pipeline/project name (from pipeline_list)."},"buildId":{"type":"integer","description":"pipeline_output: build id to fetch output for."},"rebuild":{"type":"boolean","description":"pipeline_run: full rebuild instead of incremental."},"runTests":{"type":"boolean","description":"pipeline_run: run tests as part of the pipeline."},"confirm":{"type":"boolean","description":"pipeline_run/pipeline_abort: required (these trigger/cancel a build)."},"limit":{"type":"integer","description":"history only; default 10, max 200."},"message":{"type":"string","description":"commit: commit comment."},"force":{"type":"boolean","description":"commit: force commit despite pending server-side changes."},"apply":{"type":"boolean","description":"update: apply changes into local KB (default true); false = download package only."},"async":{"type":"boolean","description":"update/commit: run as a background job — returns an operationId immediately; poll genexus_lifecycle(action=status|result, target=op:<id>). Use for a large update that would exceed the sync window."},"strategy":{"type":"string","enum":["mine","theirs","automerge"],"description":"resolve: which version wins — mine (keep local, default, creds-free), theirs (take server), automerge (3-way merge). theirs/automerge need server creds."},"target":{"type":"string","description":"lock: object name to lock."},"targets":{"type":"array","items":{"type":"string"},"description":"commit: partial commit — object names to commit (all other pending objects are excluded). resolve: conflicted object names to resolve. Names must appear in action=pending/conflicts."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"status"},{"action":"commit","message":"Fix Customer validation"},{"action":"commit","message":"Ship my proc only","targets":["ApiCtlObjTransicionar"]},{"action":"update"},{"action":"resolve","targets":["Customer"],"strategy":"automerge"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
39
|
-
{"name":"genexus_kb_version","description":"KB
|
|
39
|
+
{"name":"genexus_kb_version","description":"SDK KB version tree via KBVersionHelper. list and changed_objects are read-only; changed_objects compares active Design with a frozen version and returns paged NEW/CHANGED items without SQL. Other actions mutate. createdAt may be unavailable; lastUpdate is separate.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["list","changed_objects","freeze","branch","set_active","revert"],"description":"Version delta or tree operation."},"name":{"type":"string","description":"New version/branch name (freeze/branch)."},"description":{"type":"string","description":"New version/branch description (freeze/branch)."},"parentVersion":{"type":"string","description":"Parent version name (freeze/branch). Defaults to the active version."},"targetVersion":{"type":"string","description":"Version to activate (set_active) or revert to (revert)."},"fromVersion":{"type":"string","description":"changed_objects frozen baseline; revert source; omit for latest frozen."},"offset":{"type":"integer","minimum":0,"description":"offset."},"limit":{"type":"integer","minimum":1,"maximum":200,"description":"limit."},"backupModel":{"type":"boolean","description":"freeze."},"includeEnvironments":{"type":"boolean","description":"branch."},"autoUpdate":{"type":"boolean","description":"set_active."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list"},{"action":"changed_objects","fromVersion":"v1.0"},{"action":"freeze","name":"v1.0","description":"Release 1.0"},{"action":"set_active","targetVersion":"Trunk"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
40
40
|
{"name":"genexus_browser","description":"Headless-browser verification umbrella. action=smoke (HTTP 200 + clean console), a11y (axe), wcag (caption/tooltip lint), capture (console/network/exceptions), cross (multi-engine), preview (render WebPanel + capture HTML/a11y/screenshot, optionally diff baseline). preview uses mode=render|run (default render; run auto-resolves the KB launcher, IDE F5 parity).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["smoke","a11y","wcag","capture","cross","preview"],"description":"Browser verification operation to execute."},"name":{"type":"string","description":"WebPanel name."},"mode":{"type":"string","enum":["render","run"],"description":"preview only."},"capture":{"type":"array","items":{"type":"string"},"description":"capture|cross|preview channels: console|network|exceptions|html|a11y|screenshot."},"browsers":{"type":"array","items":{"type":"string","enum":["chrome","firefox","safari","webkit"]},"description":"cross only."},"parms":{"type":"object","description":"preview only."},"launcher":{"type":"string","description":"preview only."},"buildFirst":{"type":"boolean","description":"preview only."},"waitMs":{"type":"integer","description":"preview only."},"diffBaseline":{"type":"boolean","description":"preview only."},"updateBaseline":{"type":"boolean","description":"preview only."},"fill":{"type":"object","description":"preview only."},"click":{"type":"string","description":"preview only."},"auth":{"type":"object","description":"preview only."},"emulate":{"type":"string","enum":["iPhone12","iPhone15Pro","iPadPro","Pixel7","desktop1920","desktop1280"],"description":"preview only."},"network":{"type":"string","enum":["fast","slow3g","fast3g","offline"],"description":"preview only."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"preview","name":"WPMain"},{"action":"cross","name":"WPMain","browsers":["chrome","firefox"]}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},
|
|
41
41
|
{"name":"genexus_db","description":"Database umbrella. action: drift_check|drift_report (Transaction↔DB schema drift) | optimize_analyze|optimize_suggest|optimize_report (static index advisor) | sql_ddl|sql_navigation (SQL for Transaction/Procedure) | sample_data (fake INSERTs) | records_query|records_insert|records_update (typed application rows through Transaction metadata; writes default to dryRun; direct SQL only and no GeneXus business rules) | types_list|types_describe|types_validate (Domains/SDT constraints) | reorg_impact (timestamp/deep ImpactDatabase) | reorg_preview (non-mutating logical↔physical impact diff plus exact SQL only when a current artifact is available) | translations_import.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["drift_check","drift_report","optimize_analyze","optimize_suggest","optimize_report","sql_ddl","sql_navigation","sample_data","records_query","records_insert","records_update","types_list","types_describe","types_validate","translations_import","reorg_impact","reorg_preview"],"description":"Database operation. records_query is read-only; records_insert/records_update default to dryRun=true and require the matching single-use v2 preview token for persistence."},"deep":{"type":"boolean","description":"reorg_impact/reorg_preview only: run ISpecifierService.ImpactDatabase (specification, build-heavy) for the authoritative AnalysisResult. Default false (cheap timestamp heuristic)."},"name":{"type":"string","description":"Object/transaction/type name."},"trn":{"type":"string","description":"sample_data: Transaction name."},"transaction":{"type":"string","description":"records_*: root-level Transaction name."},"dataStore":{"type":"string","description":"records_*: existing active-environment datastore; defaults to the SDK default."},"where":{"type":"object","description":"records_query/update: equality filters only; update requires a filter."},"values":{"type":"object","description":"records_insert/update: typed attribute values."},"fields":{"type":"array","items":{"type":"string"},"description":"records_query: optional root-attribute projection."},"databaseManagedFields":{"type":"array","items":{"type":"string"},"description":"records_*: reviewed trigger-maintained fields; excludes keys and supplied values. Included in the preview token."},"limit":{"type":"integer","description":"records_query: 1-1000; default 100."},"expectedCount":{"type":"integer","description":"records_update: defaults to exactly one matched record."},"expectedVersion":{"type":"string","description":"records_*: v2 token from the matching write dry-run; query/v1 tokens cannot authorize writes."},"versionToken":{"type":"string","description":"records_*: alias of expectedVersion."},"dryRun":{"type":"boolean","default":true,"description":"records_insert/update: validate and reread the plan without writing."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"records_*: default true; validation failures roll back before commit. Post-commit compensation is refused to preserve concurrent writers."},"timeoutSeconds":{"type":"integer","description":"records_*: command timeout, 1-60 seconds."},"rows":{"type":"integer","description":"sample_data: 1-1000; default 5."},"includeSubordinated":{"type":"boolean","description":"sql_ddl only."},"levelNumber":{"type":"integer","description":"sql_navigation only."},"includeExecutionPlan":{"type":"boolean","description":"sql_navigation."},"includeIndexAdvisor":{"type":"boolean","description":"sql_navigation."},"format":{"type":"string","enum":["json","markdown"],"description":"optimize_report only."},"kind":{"type":"string","enum":["domain","sdt","all"],"description":"types_list filter."},"value":{"type":"string","description":"types_validate."},"type":{"type":"string","description":"types_validate / disambiguator."},"inputPath":{"type":"string","description":"translations_import: CSV path."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"drift_check"},{"action":"sql_ddl","name":"Customer"},{"action":"reorg_preview","name":"Customer","deep":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
42
42
|
{"name":"genexus_versioning","description":"Versioning umbrella. action: history_list|history_get|history_save|history_restore (snapshot store; restore+discard=true is IDE 'Discard changes' parity) | undo (revert last N edits) | time_travel (recover bytes from a past git commit) | blame (git blame an object part) | diff (text: mode=textVsText|currentVsText) | diff_generated (against=last-build|git-head).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["history_list","history_get","history_save","history_restore","undo","time_travel","blame","diff","diff_generated"],"description":"History, diff, time-travel, or rollback operation to perform."},"name":{"type":"string","description":"Object name for history, diff, time_travel, or blame."},"part":{"type":"string","description":"Object part name, e.g. Source, Rules, Events."},"partName":{"type":"string","description":"Legacy alias for part on history actions."},"versionId":{"type":"integer","description":"history_get/history_restore: numerical version ID."},"snapshot":{"type":"string","description":"history_restore: snapshot label or path to restore."},"discard":{"type":"boolean","description":"history_restore: true for IDE 'Discard changes' parity."},"dryRun":{"type":"boolean","description":"history_restore/undo: preview without mutating the KB."},"last":{"type":"integer","description":"undo: default 1, max 20."},"at":{"type":"string","description":"time_travel: ISO-8601 or commit sha."},"line":{"type":"integer","description":"blame: 1-based line number to annotate."},"filePath":{"type":"string","description":"blame: absolute or KB-relative file path."},"context":{"type":"integer","description":"blame: surrounding lines of context."},"mode":{"type":"string","enum":["textVsText","currentVsText"],"description":"diff."},"left":{"type":"string","description":"diff: left-side text or snapshot label."},"right":{"type":"string","description":"diff: right-side text or snapshot label."},"against":{"type":"string","enum":["last-build","git-head"],"description":"diff_generated."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"history_list","name":"Customer"},{"action":"time_travel","name":"Customer","at":"2026-05-20T10:00:00Z"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
{"name":"genexus_transfer","description":"Real XPZ export/import over the SDK's IKnowledgeManagerService — dependency-aware, IDE Export/Import parity (NOT the filesystem copy genexus_io/kb_import do). action=export (targets[]+outputFile; includeDependencies=true exports transitive closure) | inspect (explore an .xpz, read-only) | import (apply into KB; dryRun defaults true=preview via ExploreExport; dryRun=false requires confirm=true).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["export","inspect","import"],"description":"XPZ export, inspection, or import operation to perform."},"targets":{"type":"array","items":{"type":"string"},"description":"export: object names to export."},"outputFile":{"type":"string","description":"export: absolute .xpz output path."},"includeDependencies":{"type":"boolean","description":"export: compute transitive dependency closure (Calls, Tables) and export all referenced objects.","default":false},"file":{"type":"string","description":"inspect/import: absolute .xpz path."},"type":{"type":"string","description":"export: disambiguate object type."},"dryRun":{"type":"boolean","description":"import: true (default) previews; false applies (needs confirm)."},"confirm":{"type":"boolean","description":"import with dryRun=false: required."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"export","targets":["Customer"],"outputFile":"C:\\tmp\\cust.xpz"},{"action":"export","targets":["Customer"],"outputFile":"C:\\tmp\\cust_full.xpz","includeDependencies":true},{"action":"inspect","file":"C:\\tmp\\cust.xpz"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
49
49
|
{"name":"genexus_deploy","description":"Deploy application over the SDK. action=list_targets (read-only, default) enumerates deployment target types (IDeploymentTargetService); action=deploy (destructive, confirm=true) runs IDeploymentService.Deploy(model).","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["list_targets","deploy"],"description":"Deployment-target or deployment execution operation to perform."},"confirm":{"type":"boolean","description":"deploy: required (builds + ships the app)."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list_targets"},{"action":"deploy","confirm":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
50
50
|
{"name":"genexus_generator_reference","description":"Native typed .NET generator references used by GxExternalReference. list and dry-run actions are read-only. add/remove validate a managed assembly when a path is supplied, require optimistic baseVersion for changes, save only the native GeneratorsPart, reread it, and restore the complete generator-property snapshot on verification failure. No lifecycle action runs implicitly.","inputSchema":{"type":"object","additionalProperties":false,"required":["action","environment","generator"],"properties":{"action":{"type":"string","enum":["list","dry_run_add","add","dry_run_remove","remove"],"description":"Typed .NET generator-reference operation to perform."},"environment":{"type":"string","description":"Active GeneXus Environment name; the tool never switches environments."},"generator":{"type":"string","description":"Generator display name, e.g. Default (.NET)."},"assembly":{"type":"string","description":"Assembly file name for add/remove, e.g. SpreadsheetLibrary.dll."},"assemblyPath":{"type":"string","description":"Absolute path or KB-relative path used to validate a managed assembly. Required for add unless found in a standard model/bin location."},"baseVersion":{"type":"string","description":"Optimistic token returned by list or a dry-run. Required for a real state change."},"dryRun":{"type":"boolean","default":false,"description":"Force add/remove to remain read-only."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"Restore and verify the complete prior generator-property snapshot if save/reread diverges."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list","environment":".Net Environment","generator":"Default (.NET)"},{"action":"dry_run_add","environment":".Net Environment","generator":"Default (.NET)","assembly":"SpreadsheetLibrary.dll","assemblyPath":"C:\\KBs\\Sample\\CSharpModel\\web\\bin\\SpreadsheetLibrary.dll"},{"action":"add","environment":".Net Environment","generator":"Default (.NET)","assembly":"SpreadsheetLibrary.dll","assemblyPath":"C:\\KBs\\Sample\\CSharpModel\\web\\bin\\SpreadsheetLibrary.dll","baseVersion":"sha256:<token>","rollbackOnFailure":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}},
|
|
51
|
-
|
|
51
|
+
{"name":"genexus_wwp","description":"Typed WorkWithPlus action, form-level action, tab, grid, native table-type, and structural edits with dryRun, optimistic concurrency, exact snapshots, post-save reread, projection verification, and rollback. set_table_type mutates only an existing table type through the native PatternInstance SDK and preserves children, bindings, events, names, classes, defaultType, and childrenOrderedList. No lifecycle operation is implicit. Settings: embedded and separate WWP templates, paged reads and exact table-class dryRun; saves remain blocked.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["list","add_action","add_user_action","update_action","move_action","remove_action","add_tab","move_tab","remove_tab","set_table_type","add_grid_attribute","replace_web_component_with_user_action","settings_templates","settings_read","settings_edit"],"description":"WorkWithPlus action-group, tab, grid-attribute, or explicit native structural operation to perform."},"name":{"type":"string","description":"Transaction, WebPanel, or WorkWithPlus<Object> host."},"group":{"type":"string","description":"Action group name. add_action creates it when absent; update/remove use it as a filter."},"containerName":{"type":"string","description":"add_user_action: form-level action container, usually TableActions."},"actionName":{"type":"string","description":"Action name. add_user_action derives the GeneXus event Do<actionName>."},"attribute":{"type":"string","description":"add_grid_attribute: GeneXus Attribute name."},"caption":{"type":"string","description":"Action caption. For a DropDownComponent pass the GeneXus expression used for the closed button, for example &Context.EmpresaDescricao."},"procedure":{"type":"string","description":"add/update: associated Procedure; existence is validated against the KB."},"selection":{"type":"string","enum":["single","multiple"],"description":"add/update: execution scope for grid actions."},"enabledWhen":{"type":"string","description":"Availability condition stored verbatim; expression semantics are not validated."},"icon":{"type":"string","description":"add/update: button icon."},"description":{"type":"string","description":"add/update: tooltip or description."},"confirm":{"type":"boolean","description":"Confirmation prompt; required to delete unless dryRun."},"buttonClass":{"type":"string","description":"add/update: theme button class."},"position":{"type":"integer","minimum":0,"description":"Zero-based action or tab index."},"toGroup":{"type":"string","description":"move_action: destination group (created when absent)."},"fromGroup":{"type":"string","description":"move_action: source group (optional; searched across groups when omitted)."},"dryRun":{"type":"boolean","description":"Return a typed diff and versionToken without mutation."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"On a failed write or post-save verification, restore the original PatternInstance when possible."},"controlName":{"type":"string","description":"Tab ControlName."},"title":{"type":"string","description":"add_tab: tab title."},"children":{"type":"array","description":"add_tab controls; flat children are wrapped in a responsive table. Nested table children accept the same control shape.","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["variable","userAction","table"]},"name":{"type":"string"},"caption":{"type":"string"},"description":{"type":"string"},"basicType":{"type":"string"},"length":{"type":"integer","minimum":1},"decimals":{"type":"integer","minimum":0},"controlType":{"type":"string"},"controlValues":{"type":"string"},"controlEmptyItem":{"type":"boolean"},"controlEmptyItemText":{"type":"string"},"columns":{"type":"integer","minimum":1},"themeClass":{"type":"string"},"children":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}},"sourceName":{"type":"string","description":"replace_web_component_with_user_action: existing WebComponent name."},"userActionName":{"type":"string","description":"replace_web_component_with_user_action: resulting UserAction name; defaults to sourceName."},"tablePath":{"type":"string","description":"set_table_type: existing table breadcrumb by names or indexed table segments; replace_web_component_with_user_action: full breadcrumb including the source node, for example TableHeader > TableUserRole > EmpresaSelector."},"tableType":{"type":"string","enum":["Regular","Responsive"],"description":"set_table_type: requested native WWP table type. Only the existing table @type changes; defaultType and all child identity/metadata remain guarded."},"gxobject":{"type":"string","description":"replace_web_component_with_user_action: existing WebComponent Gxobject to retain; it must match the current node."},"controlType":{"type":"string","enum":["DropDownComponent"],"description":"replace_web_component_with_user_action: resulting UserAction ControlType."},"webComponentLoad":{"type":"string","enum":["On Web Panel load","On first click","On every click"],"description":"DropDownComponent load timing."},"trigger":{"type":"string","enum":["Click","Hover"],"description":"DropDownComponent trigger."},"baseVersion":{"type":"string","description":"Optimistic-concurrency token returned by dryRun/read."},"expectedVersion":{"type":"string","description":"Alias for baseVersion."},"versionToken":{"type":"string","description":"Backward-compatible alias for baseVersion."},"kb":{"type":"string","description":"KB alias."},"template":{"description":"Settings catalog path, wwp:<template-guid>, or unique template name.","type":"string"},"limit":{"type":"integer","minimum":0,"description":"Settings nodes per page; offset=0, limit=0 includes full separate-template XML."},"guid":{"type":"string","description":"Pattern Settings object GUID for settings_* actions."},"nodePath":{"description":"Settings node path returned by settings_read.","type":"string"},"entityKey":{"type":"string"},"value":{"type":"string"},"property":{"description":"Exact SDK property name.","type":"string"},"offset":{"minimum":0,"type":"integer"}},"examples":[{"action":"list","name":"SampleOrderWW"},{"action":"add_action","name":"SampleOrderWW","group":"Operations","actionName":"Retry","procedure":"RetrySampleOrder","selection":"multiple","dryRun":true},{"action":"add_tab","name":"SamplePanel","controlName":"Details","title":"Details","children":[{"type":"variable","name":"Status","basicType":"VarChar","length":40},{"type":"userAction","name":"Refresh","caption":"Refresh"}],"dryRun":true},{"action":"add_grid_attribute","name":"SampleOrderWW","attribute":"SampleOrderStatus","caption":"Status","dryRun":true},{"action":"replace_web_component_with_user_action","name":"WorkWithPlusWorkWithPlusMasterPage","sourceName":"EmpresaSelector","userActionName":"EmpresaSelector","tablePath":"TableHeader > TableUserRole > EmpresaSelector","gxobject":"WWP_MasterPageEmpresaSelectorWC","controlType":"DropDownComponent","caption":"&Context.EmpresaDescricao","webComponentLoad":"On every click","trigger":"Click","dryRun":true},{"action":"set_table_type","name":"SamplePanel","tablePath":"TableMain > TableContent > TableLogin","tableType":"Responsive","dryRun":true},{"action":"add_user_action","name":"WorkWithPlusImpressaoConfiguracao","containerName":"TableActions","actionName":"BaixarConfiguracao","caption":"Baixar Configuração","dryRun":true,"rollbackOnFailure":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
52
52
|
{"name":"genexus_kb_diff","description":"Gateway-only filesystem comparison of two KB directories. Requires kbA and kbB aliases or paths; no active KB selection is used.","inputSchema":{"type":"object","required":["kbA","kbB"],"properties":{"kbA":{"type":"string"},"kbB":{"type":"string"}},"examples":[{"kbA":"development","kbB":"staging"}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
|
|
53
53
|
{"name":"genexus_kb_import","description":"Gateway-only filesystem copy of one object between two KB directories. Requires source and object identity; run lifecycle index afterwards.","inputSchema":{"type":"object","required":["from","name","type"],"properties":{"from":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"to":{"type":"string"}},"examples":[{"from":"C:\\KBs\\source","to":"C:\\KBs\\target","name":"Customer","type":"Transaction"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}},
|
|
54
54
|
{"name":"genexus_sandbox","description":"Gateway-only filesystem sandbox management; clone or remove a KB directory without SDK dispatch.","inputSchema":{"type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["create","remove"],"description":"Sandbox operation to create or remove a KB directory."},"name":{"type":"string"},"from":{"type":"string"},"overwrite":{"type":"boolean"}},"examples":[{"action":"create","name":"probe","from":"C:\\KBs\\base"},{"action":"remove","name":"probe"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}},
|
|
Binary file
|
|
@@ -92,5 +92,17 @@
|
|
|
92
92
|
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
|
|
93
93
|
</dependentAssembly>
|
|
94
94
|
</assemblyBinding>
|
|
95
|
+
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
96
|
+
<dependentAssembly>
|
|
97
|
+
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
|
98
|
+
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
|
99
|
+
</dependentAssembly>
|
|
100
|
+
</assemblyBinding>
|
|
101
|
+
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
102
|
+
<dependentAssembly>
|
|
103
|
+
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
|
104
|
+
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
|
105
|
+
</dependentAssembly>
|
|
106
|
+
</assemblyBinding>
|
|
95
107
|
</runtime>
|
|
96
108
|
</configuration>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -63,15 +63,17 @@
|
|
|
63
63
|
"driver": "com-gxpublic",
|
|
64
64
|
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\GeneXus 9.0",
|
|
65
65
|
"registryNames": ["GeneXus 9.0"],
|
|
66
|
-
"legacyRegistryVersions": ["9.0"]
|
|
66
|
+
"legacyRegistryVersions": ["9.0"],
|
|
67
|
+
"legacySetupVersions": ["90"]
|
|
67
68
|
},
|
|
68
69
|
{
|
|
69
70
|
"major": "8",
|
|
70
71
|
"displayName": "GeneXus 8.0",
|
|
71
72
|
"driver": "com-gxpublic",
|
|
72
|
-
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\
|
|
73
|
+
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\gxw80",
|
|
73
74
|
"registryNames": ["GeneXus 8.0"],
|
|
74
|
-
"legacyRegistryVersions": ["8.0"]
|
|
75
|
+
"legacyRegistryVersions": ["8.0"],
|
|
76
|
+
"legacySetupVersions": ["80"]
|
|
75
77
|
}
|
|
76
78
|
]
|
|
77
79
|
}
|
|
@@ -63,15 +63,17 @@
|
|
|
63
63
|
"driver": "com-gxpublic",
|
|
64
64
|
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\GeneXus 9.0",
|
|
65
65
|
"registryNames": ["GeneXus 9.0"],
|
|
66
|
-
"legacyRegistryVersions": ["9.0"]
|
|
66
|
+
"legacyRegistryVersions": ["9.0"],
|
|
67
|
+
"legacySetupVersions": ["90"]
|
|
67
68
|
},
|
|
68
69
|
{
|
|
69
70
|
"major": "8",
|
|
70
71
|
"displayName": "GeneXus 8.0",
|
|
71
72
|
"driver": "com-gxpublic",
|
|
72
|
-
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\
|
|
73
|
+
"defaultInstallPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\gxw80",
|
|
73
74
|
"registryNames": ["GeneXus 8.0"],
|
|
74
|
-
"legacyRegistryVersions": ["8.0"]
|
|
75
|
+
"legacyRegistryVersions": ["8.0"],
|
|
76
|
+
"legacySetupVersions": ["80"]
|
|
75
77
|
}
|
|
76
78
|
]
|
|
77
79
|
}
|