@genesislcap/blank-app-seed 5.27.2-prerelease.3 → 5.28.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/.genx/ai-consumer.json +18 -0
- package/.genx/configure.js +122 -0
- package/.genx/package.json +1 -1
- package/.genx/scripts/check-ai-declaration.mjs +116 -0
- package/.genx/scripts/check-ai-emission.sh +974 -0
- package/.genx/scripts/generate-test-apps.sh +38 -4
- package/.genx/templates/react/ai/assistant-host.ts.hbs +30 -0
- package/.genx/templates/react/ai/assistant.ts.hbs +52 -0
- package/.genx/templates/react/ai/extensions.ts.hbs +17 -0
- package/.genx/templates/react/ai/pbc-elements.ts.hbs +17 -0
- package/.genx/templates/server/ai-service-web-handler.kts.hbs +394 -0
- package/.genx/tests/contracts/ai/ai-resolver-cases.json +6807 -0
- package/.genx/tests/contracts/ai/ui-config-ai.schema.json +203 -0
- package/.genx/tests/fixtures/ai-config-parse-breakers.json +16 -0
- package/.genx/tests/fixtures/ai-config.json +41 -0
- package/.genx/versions.json +3 -3
- package/.github/workflows/build.yml +20 -4
- package/CHANGELOG.md +63 -43
- package/README.md +139 -0
- package/bdd-tests/build.gradle.kts +1 -1
- package/bdd-tests/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/bdd-tests/gradle.properties +0 -1
- package/bdd-tests/settings.gradle.kts +2 -2
- package/client-tmp/angular/package.json +3 -0
- package/client-tmp/react/.oxfmtrc.json +3 -0
- package/client-tmp/react/package.json +6 -2
- package/client-tmp/web-components/package.json +3 -0
- package/client-tmp/web-components/settings.gradle.kts +0 -22
- package/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/package.json +1 -1
- package/server/build.gradle.kts +8 -1
- package/server/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/server/gradle.properties +3 -3
- package/server/settings.gradle.kts +2 -2
- package/server/{{appName}}-app/src/main/genesis/scripts/genesis-router.kts +10 -0
- package/server/{{appName}}-app/src/test/kotlin/global/genesis/EventHandlerTest.kt +1 -1
|
@@ -6,6 +6,8 @@ pluginManagement {
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
repositories {
|
|
9
|
+
gradlePluginPortal()
|
|
10
|
+
mavenCentral()
|
|
9
11
|
maven {
|
|
10
12
|
val repoUrl = if(extra.properties["useDevRepo"] == "true") {
|
|
11
13
|
"https://genesisglobal.jfrog.io/genesisglobal/dev-repo"
|
|
@@ -18,8 +20,6 @@ pluginManagement {
|
|
|
18
20
|
password = extra.properties["genesisArtifactoryPassword"].toString()
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
|
-
gradlePluginPortal()
|
|
22
|
-
mavenCentral()
|
|
23
23
|
mavenLocal {
|
|
24
24
|
content {
|
|
25
25
|
excludeGroup("org.agrona")
|
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
"dev:intellij": "npm run dev",
|
|
29
29
|
"dev:https": "npm run dev -- --https",
|
|
30
30
|
"dev:webpack": "npm run dev",
|
|
31
|
+
"genesis-start": "cd ../server && ./gradlew genesisStart",
|
|
32
|
+
"genesis-start:headless": "cd ../server && ./gradlew genesisStart -Pgenesis.start.headless=true -Pgenesis.start.restEnabled=true -Pgenesis.start.restPort=18080",
|
|
33
|
+
"genesis-start:write-script": "cd ../server && ./gradlew writeStartScript -Pgenesis.start.headless=true -Pgenesis.start.restEnabled=true -Pgenesis.start.restPort=18080",
|
|
31
34
|
"git:setup": "cd .. && npx --no --prefix client husky install",
|
|
32
35
|
"lint": "genx lint -l ox",
|
|
33
36
|
"lint:fix": "genx lint -l ox --fix",
|
|
@@ -20,14 +20,17 @@
|
|
|
20
20
|
"baseline": "npm run clean && npm run bootstrap",
|
|
21
21
|
"bootstrap": "npm i --no-fund --no-audit",
|
|
22
22
|
"bootstrap:ci": "npm ci --no-fund --no-audit",
|
|
23
|
-
"build": "genx build -b vite",
|
|
23
|
+
"build": "genx build -b vite{{#if AI.enabled}} -e GENX_ENABLE_AI=true{{/if}}",
|
|
24
24
|
"build:stats": "npm run build --stats-json",
|
|
25
25
|
"clean": "genx clean dist node_modules",
|
|
26
|
-
"dev": "genx dev -b vite -e API_HOST,PORT,ENABLE_SSO,PERSIST_LAYOUT_IN_DEV",
|
|
26
|
+
"dev": "genx dev -b vite -e API_HOST,PORT,ENABLE_SSO,PERSIST_LAYOUT_IN_DEV{{#if AI.enabled}} -e GENX_ENABLE_AI=true{{/if}}",
|
|
27
27
|
"dev:docker": "npm run dev -- --host 0.0.0.0",
|
|
28
28
|
"dev:no-open": "NO_OPEN=true npm run dev",
|
|
29
29
|
"dev:intellij": "npm run dev",
|
|
30
30
|
"dev:https": "HTTPS=true npm run dev",
|
|
31
|
+
"genesis-start": "cd ../server && ./gradlew genesisStart",
|
|
32
|
+
"genesis-start:headless": "cd ../server && ./gradlew genesisStart -Pgenesis.start.headless=true -Pgenesis.start.restEnabled=true -Pgenesis.start.restPort=18080",
|
|
33
|
+
"genesis-start:write-script": "cd ../server && ./gradlew writeStartScript -Pgenesis.start.headless=true -Pgenesis.start.restEnabled=true -Pgenesis.start.restPort=18080",
|
|
31
34
|
"git:setup": "cd .. && npx --no --prefix client husky install",
|
|
32
35
|
"lint": "genx lint -l ox",
|
|
33
36
|
"lint:fix": "genx lint -l ox --fix",
|
|
@@ -54,6 +57,7 @@
|
|
|
54
57
|
"dependencies": {
|
|
55
58
|
"@microsoft/fast-react-wrapper": ">=0.3.25",
|
|
56
59
|
"ag-grid-community": "36.0.0",
|
|
60
|
+
"@genesislcap/ai-assistant": "{{versions.UI}}",
|
|
57
61
|
"@genesislcap/foundation-auth": "{{versions.UI}}",
|
|
58
62
|
"@genesislcap/foundation-comms": "{{versions.UI}}",
|
|
59
63
|
"@genesislcap/foundation-criteria": "{{versions.UI}}",
|
|
@@ -41,6 +41,9 @@
|
|
|
41
41
|
"dev:https": "npm run dev -- -- --https",
|
|
42
42
|
"dev:vite": "genx dev -e API_HOST,ENABLE_SSO -b vite",
|
|
43
43
|
"dev:webpack": "genx dev -e API_HOST,ENABLE_SSO -b webpack",
|
|
44
|
+
"genesis-start": "cd ../server && ./gradlew genesisStart",
|
|
45
|
+
"genesis-start:headless": "cd ../server && ./gradlew genesisStart -Pgenesis.start.headless=true -Pgenesis.start.restEnabled=true -Pgenesis.start.restPort=18080",
|
|
46
|
+
"genesis-start:write-script": "cd ../server && ./gradlew writeStartScript -Pgenesis.start.headless=true -Pgenesis.start.restEnabled=true -Pgenesis.start.restPort=18080",
|
|
44
47
|
"git:setup": "cd .. && npx --no --prefix client husky install",
|
|
45
48
|
"lint": "genx lint -l ox",
|
|
46
49
|
"lint:fix": "genx lint -l ox --fix",
|
|
@@ -1,23 +1 @@
|
|
|
1
|
-
pluginManagement {
|
|
2
|
-
repositories {
|
|
3
|
-
if (providers.gradleProperty("useMavenLocal").orNull == "true") {
|
|
4
|
-
mavenLocal()
|
|
5
|
-
}
|
|
6
|
-
maven {
|
|
7
|
-
val repoUrl = if (extra.properties["useDevRepo"] == "true") {
|
|
8
|
-
"https://genesisglobal.jfrog.io/genesisglobal/dev-repo"
|
|
9
|
-
} else {
|
|
10
|
-
"https://genesisglobal.jfrog.io/genesisglobal/libs-release-client"
|
|
11
|
-
}
|
|
12
|
-
url = uri(repoUrl)
|
|
13
|
-
credentials {
|
|
14
|
-
username = extra.properties["genesisArtifactoryUser"].toString()
|
|
15
|
-
password = extra.properties["genesisArtifactoryPassword"].toString()
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
gradlePluginPortal()
|
|
19
|
-
mavenCentral()
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
1
|
rootProject.name = "client"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
|
4
4
|
networkTimeout=10000
|
|
5
5
|
validateDistributionUrl=true
|
|
6
6
|
zipStoreBase=GRADLE_USER_HOME
|
package/package.json
CHANGED
package/server/build.gradle.kts
CHANGED
|
@@ -76,6 +76,7 @@ allprojects {
|
|
|
76
76
|
excludeGroup("org.agrona")
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
+
mavenCentral()
|
|
79
80
|
maven {
|
|
80
81
|
val repoUrl = if(properties["useDevRepo"] == "true") {
|
|
81
82
|
"https://genesisglobal.jfrog.io/genesisglobal/dev-repo"
|
|
@@ -88,7 +89,13 @@ allprojects {
|
|
|
88
89
|
password = properties["genesisArtifactoryPassword"].toString()
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
+
// The Genesis Start launcher (0.1.12+) needs androidx.* artifacts, which none of the repositories
|
|
93
|
+
// above have. Last, and for those groups only, so nothing else is ever looked up at Google.
|
|
94
|
+
google {
|
|
95
|
+
content {
|
|
96
|
+
includeGroupByRegex("androidx\\..*")
|
|
97
|
+
}
|
|
98
|
+
}
|
|
92
99
|
}
|
|
93
100
|
|
|
94
101
|
publishing {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
|
4
4
|
networkTimeout=10000
|
|
5
5
|
validateDistributionUrl=true
|
|
6
6
|
zipStoreBase=GRADLE_USER_HOME
|
package/server/gradle.properties
CHANGED
|
@@ -7,7 +7,9 @@ dockerCompactProcesses=true
|
|
|
7
7
|
version={{applicationVersion}}
|
|
8
8
|
genesisVersion={{ versions.GSF }}
|
|
9
9
|
authVersion={{ versions.Auth }}
|
|
10
|
-
|
|
10
|
+
# Genesis Start launcher. 0.1.15 is the first release with a headless mode (-Pgenesis.start.headless=true);
|
|
11
|
+
# plain genesisStart still opens the desktop launcher.
|
|
12
|
+
startVersion=0.1.15
|
|
11
13
|
|
|
12
14
|
# Default ssh config for the docker dev environment
|
|
13
15
|
genesis-home=/app/run
|
|
@@ -19,5 +21,3 @@ ssh-port=1337
|
|
|
19
21
|
enableDockerContainerTasks=true
|
|
20
22
|
|
|
21
23
|
compactProcessesStrategy=DEV
|
|
22
|
-
|
|
23
|
-
useDevRepo=true
|
|
@@ -9,6 +9,8 @@ pluginManagement {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
repositories {
|
|
12
|
+
mavenCentral()
|
|
13
|
+
gradlePluginPortal()
|
|
12
14
|
maven {
|
|
13
15
|
val repoUrl = if(extra.properties["useDevRepo"] == "true") {
|
|
14
16
|
"https://genesisglobal.jfrog.io/genesisglobal/dev-repo"
|
|
@@ -21,8 +23,6 @@ pluginManagement {
|
|
|
21
23
|
password = extra.properties["genesisArtifactoryPassword"].toString()
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
|
-
gradlePluginPortal()
|
|
25
|
-
mavenCentral()
|
|
26
26
|
mavenLocal {
|
|
27
27
|
// VERY IMPORTANT!!! EXCLUDE AGRONA AS IT IS A POM DEPENDENCY AND DOES NOT PLAY NICELY WITH MAVEN LOCAL!
|
|
28
28
|
content {
|
|
@@ -3,6 +3,16 @@ package scripts
|
|
|
3
3
|
router {
|
|
4
4
|
webPort = 9064
|
|
5
5
|
socketPort = 9065
|
|
6
|
+
{{#if AI.enabled}}
|
|
7
|
+
|
|
8
|
+
// Raised for the AI chat proxy: a chat turn carrying history and tool definitions exceeds the
|
|
9
|
+
// platform default of 262144 bytes, and the router refuses an oversized request before the
|
|
10
|
+
// handler sees it. 6 MiB, a little above the proxy's own 5 MiB limit, so a turn just over that
|
|
11
|
+
// limit reaches the proxy and gets its REQUEST_TOO_LARGE code rather than an empty 413.
|
|
12
|
+
httpObjectAggregator {
|
|
13
|
+
maxContentLength = 6291456
|
|
14
|
+
}
|
|
15
|
+
{{/if}}
|
|
6
16
|
|
|
7
17
|
cookieAuthentication {
|
|
8
18
|
enabled = true
|
|
@@ -6,7 +6,7 @@ import global.genesis.db.rx.entity.multi.AsyncEntityDb
|
|
|
6
6
|
import global.genesis.testsupport.client.eventhandler.EventClientSync
|
|
7
7
|
import global.genesis.testsupport.jupiter.GenesisJunit
|
|
8
8
|
import global.genesis.testsupport.jupiter.ScriptFile
|
|
9
|
-
import
|
|
9
|
+
import javax.inject.Inject
|
|
10
10
|
import org.junit.jupiter.api.Test
|
|
11
11
|
import org.junit.jupiter.api.extension.ExtendWith
|
|
12
12
|
|