@jskit-ai/database-runtime-mysql 0.1.145 → 0.1.147

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/database-runtime-mysql",
3
- "version": "0.1.145",
3
+ "version": "0.1.147",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "test": "node --test"
@@ -12,7 +12,194 @@
12
12
  "./shared/dialect": "./src/shared/dialect.js"
13
13
  },
14
14
  "dependencies": {
15
- "@jskit-ai/database-runtime": "0.1.146",
16
- "@jskit-ai/kernel": "0.1.146"
15
+ "@jskit-ai/database-runtime": "0.1.149",
16
+ "@jskit-ai/kernel": "0.1.149"
17
+ },
18
+ "jskit": {
19
+ "kind": "runtime",
20
+ "options": {
21
+ "db-host": {
22
+ "required": false,
23
+ "values": [],
24
+ "defaultValue": "localhost",
25
+ "promptLabel": "Database host",
26
+ "promptHint": "MySQL host (for example 127.0.0.1)"
27
+ },
28
+ "db-port": {
29
+ "required": false,
30
+ "values": [],
31
+ "defaultValue": "3306",
32
+ "promptLabel": "Database port",
33
+ "promptHint": "MySQL port (usually 3306)"
34
+ },
35
+ "db-name": {
36
+ "required": true,
37
+ "values": [],
38
+ "promptLabel": "Database name",
39
+ "promptHint": "Schema/database name to connect to"
40
+ },
41
+ "db-user": {
42
+ "required": true,
43
+ "values": [],
44
+ "promptLabel": "Database user",
45
+ "promptHint": "Database username"
46
+ },
47
+ "db-password": {
48
+ "required": true,
49
+ "values": [],
50
+ "inputType": "password",
51
+ "promptLabel": "Database password",
52
+ "promptHint": "Database password"
53
+ }
54
+ },
55
+ "capabilities": {
56
+ "provides": [
57
+ "runtime.database.driver",
58
+ "runtime.database.driver.mysql"
59
+ ],
60
+ "requires": [
61
+ "runtime.database"
62
+ ]
63
+ },
64
+ "runtime": {
65
+ "server": {
66
+ "providerEntrypoint": "src/server/providers/DatabaseRuntimeMysqlServiceProvider.js",
67
+ "providers": [
68
+ {
69
+ "entrypoint": "src/server/providers/DatabaseRuntimeMysqlServiceProvider.js",
70
+ "export": "DatabaseRuntimeMysqlServiceProvider"
71
+ }
72
+ ]
73
+ },
74
+ "client": {
75
+ "providers": []
76
+ }
77
+ },
78
+ "metadata": {
79
+ "apiSummary": {
80
+ "surfaces": [
81
+ {
82
+ "subpath": "./server",
83
+ "summary": "Exports MySQL database runtime provider."
84
+ },
85
+ {
86
+ "subpath": "./shared",
87
+ "summary": "Exports MySQL dialect metadata helpers."
88
+ },
89
+ {
90
+ "subpath": "./client",
91
+ "summary": "Exports no runtime API today (reserved client entrypoint)."
92
+ }
93
+ ],
94
+ "containerTokens": {
95
+ "server": [
96
+ "runtime.database.driver.mysql"
97
+ ],
98
+ "client": []
99
+ }
100
+ }
101
+ },
102
+ "ci": {
103
+ "environment": {
104
+ "DB_CLIENT": "mysql2",
105
+ "DB_HOST": "127.0.0.1",
106
+ "DB_PORT": "33060",
107
+ "DB_NAME": "jskit_ci",
108
+ "DB_USER": "jskit_ci",
109
+ "DB_PASSWORD": "jskit_ci_only_password"
110
+ },
111
+ "services": [
112
+ {
113
+ "id": "mariadb",
114
+ "image": "mariadb:11.4",
115
+ "environment": {
116
+ "MARIADB_DATABASE": "jskit_ci",
117
+ "MARIADB_USER": "jskit_ci",
118
+ "MARIADB_PASSWORD": "jskit_ci_only_password",
119
+ "MARIADB_ROOT_PASSWORD": "jskit_ci_only_root_password"
120
+ },
121
+ "ports": [
122
+ "33060:3306"
123
+ ],
124
+ "healthCheck": {
125
+ "command": "healthcheck.sh --connect --innodb_initialized",
126
+ "interval": "10s",
127
+ "timeout": "5s",
128
+ "retries": 10
129
+ }
130
+ }
131
+ ],
132
+ "steps": []
133
+ },
134
+ "mutations": {
135
+ "dependencies": {
136
+ "runtime": {
137
+ "@jskit-ai/database-runtime": "0.1.149",
138
+ "mysql2": "^3.11.2"
139
+ },
140
+ "dev": {}
141
+ },
142
+ "packageJson": {
143
+ "scripts": {}
144
+ },
145
+ "procfile": {},
146
+ "files": [],
147
+ "text": [
148
+ {
149
+ "file": ".env",
150
+ "op": "upsert-env",
151
+ "key": "DB_CLIENT",
152
+ "value": "mysql2",
153
+ "reason": "Configure database client driver for runtime wiring.",
154
+ "category": "runtime-config",
155
+ "id": "database-client-mysql"
156
+ },
157
+ {
158
+ "file": ".env",
159
+ "op": "upsert-env",
160
+ "key": "DB_HOST",
161
+ "value": "${option:db-host}",
162
+ "reason": "Configure database host.",
163
+ "category": "runtime-config",
164
+ "id": "database-host"
165
+ },
166
+ {
167
+ "file": ".env",
168
+ "op": "upsert-env",
169
+ "key": "DB_PORT",
170
+ "value": "${option:db-port}",
171
+ "reason": "Configure database port.",
172
+ "category": "runtime-config",
173
+ "id": "database-port"
174
+ },
175
+ {
176
+ "file": ".env",
177
+ "op": "upsert-env",
178
+ "key": "DB_NAME",
179
+ "value": "${option:db-name}",
180
+ "reason": "Configure database name.",
181
+ "category": "runtime-config",
182
+ "id": "database-name"
183
+ },
184
+ {
185
+ "file": ".env",
186
+ "op": "upsert-env",
187
+ "key": "DB_USER",
188
+ "value": "${option:db-user}",
189
+ "reason": "Configure database user.",
190
+ "category": "runtime-config",
191
+ "id": "database-user"
192
+ },
193
+ {
194
+ "file": ".env",
195
+ "op": "upsert-env",
196
+ "key": "DB_PASSWORD",
197
+ "value": "${option:db-password}",
198
+ "reason": "Configure database password.",
199
+ "category": "runtime-config",
200
+ "id": "database-password"
201
+ }
202
+ ]
203
+ }
17
204
  }
18
205
  }
@@ -0,0 +1,24 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import packageJson from "../package.json" with { type: "json" };
4
+
5
+ const packageMetadata = packageJson.jskit;
6
+ import { DIALECT_ID } from "../src/shared/dialect.js";
7
+
8
+ test("database-runtime-mysql contributes canonical synthetic MariaDB CI requirements", () => {
9
+ assert.equal(packageMetadata.ci.environment.DB_CLIENT, DIALECT_ID);
10
+ assert.equal(packageMetadata.ci.environment.DB_HOST, "127.0.0.1");
11
+ assert.equal(packageMetadata.ci.environment.DB_PORT, "33060");
12
+ assert.match(packageMetadata.ci.environment.DB_PASSWORD, /ci_only/u);
13
+
14
+ const service = packageMetadata.ci.services.find((entry) => entry.id === "mariadb");
15
+ assert.equal(service.image, "mariadb:11.4");
16
+ assert.equal(service.environment.MARIADB_DATABASE, packageMetadata.ci.environment.DB_NAME);
17
+ assert.equal(service.environment.MARIADB_USER, packageMetadata.ci.environment.DB_USER);
18
+ assert.equal(service.environment.MARIADB_PASSWORD, packageMetadata.ci.environment.DB_PASSWORD);
19
+ assert.deepEqual(service.ports, ["33060:3306"]);
20
+ assert.match(service.healthCheck.command, /healthcheck\.sh/u);
21
+
22
+ const clientMutation = packageMetadata.mutations.text.find((entry) => entry.key === "DB_CLIENT");
23
+ assert.equal(clientMutation.value, DIALECT_ID);
24
+ });
@@ -1,203 +0,0 @@
1
- import { DIALECT_ID } from "./src/shared/dialect.js";
2
-
3
- const CI_DATABASE = Object.freeze({
4
- host: "127.0.0.1",
5
- hostPort: "33060",
6
- containerPort: "3306",
7
- name: "jskit_ci",
8
- user: "jskit_ci",
9
- password: "jskit_ci_only_password",
10
- rootPassword: "jskit_ci_only_root_password"
11
- });
12
-
13
- export default Object.freeze({
14
- packageVersion: 1,
15
- packageId: "@jskit-ai/database-runtime-mysql",
16
- version: "0.1.145",
17
- kind: "runtime",
18
- options: {
19
- "db-host": {
20
- required: false,
21
- values: [],
22
- defaultValue: "localhost",
23
- promptLabel: "Database host",
24
- promptHint: "MySQL host (for example 127.0.0.1)"
25
- },
26
- "db-port": {
27
- required: false,
28
- values: [],
29
- defaultValue: "3306",
30
- promptLabel: "Database port",
31
- promptHint: "MySQL port (usually 3306)"
32
- },
33
- "db-name": {
34
- required: true,
35
- values: [],
36
- promptLabel: "Database name",
37
- promptHint: "Schema/database name to connect to"
38
- },
39
- "db-user": {
40
- required: true,
41
- values: [],
42
- promptLabel: "Database user",
43
- promptHint: "Database username"
44
- },
45
- "db-password": {
46
- required: true,
47
- values: [],
48
- inputType: "password",
49
- promptLabel: "Database password",
50
- promptHint: "Database password"
51
- }
52
- },
53
- dependsOn: [
54
- "@jskit-ai/database-runtime"
55
- ],
56
- capabilities: {
57
- provides: [
58
- "runtime.database.driver",
59
- "runtime.database.driver.mysql"
60
- ],
61
- requires: [
62
- "runtime.database"
63
- ]
64
- },
65
- runtime: {
66
- server: {
67
- providerEntrypoint: "src/server/providers/DatabaseRuntimeMysqlServiceProvider.js",
68
- providers: [
69
- {
70
- entrypoint: "src/server/providers/DatabaseRuntimeMysqlServiceProvider.js",
71
- export: "DatabaseRuntimeMysqlServiceProvider"
72
- }
73
- ]
74
- },
75
- client: {
76
- providers: []
77
- }
78
- },
79
- metadata: {
80
- apiSummary: {
81
- surfaces: [
82
- {
83
- subpath: "./server",
84
- summary: "Exports MySQL database runtime provider."
85
- },
86
- {
87
- subpath: "./shared",
88
- summary: "Exports MySQL dialect metadata helpers."
89
- },
90
- {
91
- subpath: "./client",
92
- summary: "Exports no runtime API today (reserved client entrypoint)."
93
- }
94
- ],
95
- containerTokens: {
96
- server: [
97
- "runtime.database.driver.mysql"
98
- ],
99
- client: []
100
- }
101
- }
102
- },
103
- ci: {
104
- environment: {
105
- DB_CLIENT: DIALECT_ID,
106
- DB_HOST: CI_DATABASE.host,
107
- DB_PORT: CI_DATABASE.hostPort,
108
- DB_NAME: CI_DATABASE.name,
109
- DB_USER: CI_DATABASE.user,
110
- DB_PASSWORD: CI_DATABASE.password
111
- },
112
- services: [
113
- {
114
- id: "mariadb",
115
- image: "mariadb:11.4",
116
- environment: {
117
- MARIADB_DATABASE: CI_DATABASE.name,
118
- MARIADB_USER: CI_DATABASE.user,
119
- MARIADB_PASSWORD: CI_DATABASE.password,
120
- MARIADB_ROOT_PASSWORD: CI_DATABASE.rootPassword
121
- },
122
- ports: [`${CI_DATABASE.hostPort}:${CI_DATABASE.containerPort}`],
123
- healthCheck: {
124
- command: "healthcheck.sh --connect --innodb_initialized",
125
- interval: "10s",
126
- timeout: "5s",
127
- retries: 10
128
- }
129
- }
130
- ],
131
- steps: []
132
- },
133
- mutations: {
134
- dependencies: {
135
- runtime: {
136
- "@jskit-ai/database-runtime": "0.1.146",
137
- "mysql2": "^3.11.2"
138
- },
139
- dev: {}
140
- },
141
- packageJson: {
142
- scripts: {}
143
- },
144
- procfile: {},
145
- files: [],
146
- text: [
147
- {
148
- file: ".env",
149
- op: "upsert-env",
150
- key: "DB_CLIENT",
151
- value: DIALECT_ID,
152
- reason: "Configure database client driver for runtime wiring.",
153
- category: "runtime-config",
154
- id: "database-client-mysql"
155
- },
156
- {
157
- file: ".env",
158
- op: "upsert-env",
159
- key: "DB_HOST",
160
- value: "${option:db-host}",
161
- reason: "Configure database host.",
162
- category: "runtime-config",
163
- id: "database-host"
164
- },
165
- {
166
- file: ".env",
167
- op: "upsert-env",
168
- key: "DB_PORT",
169
- value: "${option:db-port}",
170
- reason: "Configure database port.",
171
- category: "runtime-config",
172
- id: "database-port"
173
- },
174
- {
175
- file: ".env",
176
- op: "upsert-env",
177
- key: "DB_NAME",
178
- value: "${option:db-name}",
179
- reason: "Configure database name.",
180
- category: "runtime-config",
181
- id: "database-name"
182
- },
183
- {
184
- file: ".env",
185
- op: "upsert-env",
186
- key: "DB_USER",
187
- value: "${option:db-user}",
188
- reason: "Configure database user.",
189
- category: "runtime-config",
190
- id: "database-user"
191
- },
192
- {
193
- file: ".env",
194
- op: "upsert-env",
195
- key: "DB_PASSWORD",
196
- value: "${option:db-password}",
197
- reason: "Configure database password.",
198
- category: "runtime-config",
199
- id: "database-password"
200
- }
201
- ]
202
- }
203
- });
@@ -1,22 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import test from "node:test";
3
- import descriptor from "../package.descriptor.mjs";
4
- import { DIALECT_ID } from "../src/shared/dialect.js";
5
-
6
- test("database-runtime-mysql contributes canonical synthetic MariaDB CI requirements", () => {
7
- assert.equal(descriptor.ci.environment.DB_CLIENT, DIALECT_ID);
8
- assert.equal(descriptor.ci.environment.DB_HOST, "127.0.0.1");
9
- assert.equal(descriptor.ci.environment.DB_PORT, "33060");
10
- assert.match(descriptor.ci.environment.DB_PASSWORD, /ci_only/u);
11
-
12
- const service = descriptor.ci.services.find((entry) => entry.id === "mariadb");
13
- assert.equal(service.image, "mariadb:11.4");
14
- assert.equal(service.environment.MARIADB_DATABASE, descriptor.ci.environment.DB_NAME);
15
- assert.equal(service.environment.MARIADB_USER, descriptor.ci.environment.DB_USER);
16
- assert.equal(service.environment.MARIADB_PASSWORD, descriptor.ci.environment.DB_PASSWORD);
17
- assert.deepEqual(service.ports, ["33060:3306"]);
18
- assert.match(service.healthCheck.command, /healthcheck\.sh/u);
19
-
20
- const clientMutation = descriptor.mutations.text.find((entry) => entry.key === "DB_CLIENT");
21
- assert.equal(clientMutation.value, DIALECT_ID);
22
- });