@effect/sql-mysql2 4.0.0-beta.99 → 4.0.0-rc.108
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/AGENTS.md +381 -0
- package/CLAUDE.md +381 -0
- package/README.md +10 -3
- package/ai-docs/README.md +44 -0
- package/ai-docs/package.json +36 -0
- package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
- package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
- package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
- package/ai-docs/src/01_effect/01_basics/index.md +5 -0
- package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
- package/ai-docs/src/01_effect/02_schema/index.md +7 -0
- package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
- package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
- package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
- package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
- package/ai-docs/src/01_effect/03_services/index.md +5 -0
- package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
- package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
- package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
- package/ai-docs/src/01_effect/04_errors/index.md +1 -0
- package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
- package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
- package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
- package/ai-docs/src/01_effect/05_resources/index.md +3 -0
- package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
- package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
- package/ai-docs/src/01_effect/06_running/index.md +1 -0
- package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
- package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
- package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
- package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
- package/ai-docs/src/03_stream/30_encoding.ts +165 -0
- package/ai-docs/src/03_stream/index.md +4 -0
- package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
- package/ai-docs/src/04_integration/index.md +5 -0
- package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
- package/ai-docs/src/05_batching/index.md +3 -0
- package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
- package/ai-docs/src/06_schedule/index.md +3 -0
- package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
- package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
- package/ai-docs/src/07_datetime/index.md +5 -0
- package/ai-docs/src/08_observability/10_logging.ts +66 -0
- package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
- package/ai-docs/src/08_observability/index.md +7 -0
- package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
- package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
- package/ai-docs/src/09_testing/index.md +1 -0
- package/ai-docs/src/10_predicate/01_basics.ts +14 -0
- package/ai-docs/src/10_predicate/index.md +9 -0
- package/ai-docs/src/50_http-client/10_basics.ts +102 -0
- package/ai-docs/src/50_http-client/index.md +3 -0
- package/ai-docs/src/51_http-server/10_basics.ts +116 -0
- package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
- package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
- package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
- package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
- package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
- package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
- package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
- package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
- package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
- package/ai-docs/src/51_http-server/index.md +3 -0
- package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
- package/ai-docs/src/60_child-process/index.md +3 -0
- package/ai-docs/src/70_cli/10_basics.ts +136 -0
- package/ai-docs/src/70_cli/index.md +5 -0
- package/ai-docs/src/71_ai/10_language-model.ts +156 -0
- package/ai-docs/src/71_ai/20_tools.ts +226 -0
- package/ai-docs/src/71_ai/30_chat.ts +158 -0
- package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
- package/ai-docs/src/71_ai/index.md +5 -0
- package/ai-docs/src/80_cluster/10_entities.ts +97 -0
- package/ai-docs/src/80_cluster/index.md +4 -0
- package/ai-docs/src/index.md +10 -0
- package/ai-docs/tsconfig.json +24 -0
- package/dist/MysqlClient.d.ts +7 -2
- package/dist/MysqlClient.d.ts.map +1 -1
- package/dist/MysqlClient.js +6 -5
- package/dist/MysqlClient.js.map +1 -1
- package/dist/MysqlMigrator.d.ts +1 -1
- package/dist/MysqlMigrator.js +1 -1
- package/dist/MysqlMigrator.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +10 -8
- package/src/MysqlClient.ts +13 -6
- package/src/MysqlMigrator.ts +1 -1
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @title Stateful chat sessions
|
|
3
|
+
*
|
|
4
|
+
* The AI `Chat` module maintains conversation history automatically. Build
|
|
5
|
+
* AI agents or chat assistants.
|
|
6
|
+
*/
|
|
7
|
+
import { OpenAiClient, OpenAiLanguageModel } from "@effect/ai-openai"
|
|
8
|
+
import { Config, Context, DateTime, Effect, Layer, Ref, Schema } from "effect"
|
|
9
|
+
import { AiError, Chat, Prompt, Tool, Toolkit } from "effect/unstable/ai"
|
|
10
|
+
import { FetchHttpClient } from "effect/unstable/http"
|
|
11
|
+
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Provider setup
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
|
|
16
|
+
const OpenAiClientLayer = OpenAiClient.layerConfig({
|
|
17
|
+
apiKey: Config.redacted("OPENAI_API_KEY")
|
|
18
|
+
}).pipe(Layer.provide(FetchHttpClient.layer))
|
|
19
|
+
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Tools for the agentic loop
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
const Tools = Toolkit.make(Tool.make("getCurrentTime", {
|
|
25
|
+
description: "Get the current time in ISO format",
|
|
26
|
+
parameters: Schema.Struct({
|
|
27
|
+
id: Schema.String
|
|
28
|
+
}),
|
|
29
|
+
success: Schema.String
|
|
30
|
+
}))
|
|
31
|
+
|
|
32
|
+
const ToolsLayer = Tools.toLayer(Effect.gen(function*() {
|
|
33
|
+
yield* Effect.logDebug("Initializing tools...")
|
|
34
|
+
return Tools.of({
|
|
35
|
+
getCurrentTime: Effect.fn("Tools.getCurrentTime")(function*(_) {
|
|
36
|
+
const now = yield* DateTime.now
|
|
37
|
+
return DateTime.formatIso(now)
|
|
38
|
+
})
|
|
39
|
+
})
|
|
40
|
+
}))
|
|
41
|
+
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// Service that wraps Chat for a domain use-case
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
export class AiAssistantError extends Schema.TaggedError<AiAssistantError>()("AiAssistantError", {
|
|
47
|
+
reason: AiError.AiErrorReason
|
|
48
|
+
}) {
|
|
49
|
+
static fromAiError(error: AiError.AiError) {
|
|
50
|
+
return new AiAssistantError({ reason: error.reason })
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export class AiAssistant extends Context.Service<AiAssistant, {
|
|
55
|
+
// Send a message while maintaining conversation history across turns.
|
|
56
|
+
chat(message: string): Effect.Effect<string, AiAssistantError>
|
|
57
|
+
// Ask a question and use an agentic loop with tool calls to answer it.
|
|
58
|
+
agent(question: string): Effect.Effect<string, AiAssistantError>
|
|
59
|
+
}>()("acme/AiAssistant") {
|
|
60
|
+
static readonly layer = Layer.effect(
|
|
61
|
+
AiAssistant,
|
|
62
|
+
Effect.gen(function*() {
|
|
63
|
+
// Choose the model you want to use for the chat sessions.
|
|
64
|
+
const modelLayer = yield* OpenAiLanguageModel.model("gpt-5.2").captureRequirements
|
|
65
|
+
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// 1. Chat.empty — basic multi-turn conversation
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
|
|
70
|
+
// Create a new chat session with `Chat.empty` or `Chat.fromPrompt`. The
|
|
71
|
+
// session maintains conversation history automatically, so you can focus on
|
|
72
|
+
// the current turn without having to manage context.
|
|
73
|
+
const newSession = yield* Chat.fromPrompt(Prompt.empty.pipe(
|
|
74
|
+
Prompt.setSystem("You are a helpful assistant that answers questions.")
|
|
75
|
+
))
|
|
76
|
+
|
|
77
|
+
// You can also create a chat using a json export.
|
|
78
|
+
const json = yield* newSession.exportJson
|
|
79
|
+
const session = yield* Chat.fromJson(json)
|
|
80
|
+
|
|
81
|
+
const chat = Effect.fn("AiAssistant.chat")(
|
|
82
|
+
function*(message: string) {
|
|
83
|
+
// Create a new turn in the conversation by passing the user's message
|
|
84
|
+
// to `session.generateText`.
|
|
85
|
+
const response = yield* session.generateText({ prompt: message }).pipe(
|
|
86
|
+
// Provide the model layer to use.
|
|
87
|
+
// You could potentially use different models for different turns,
|
|
88
|
+
// or even switch models in the middle of a conversation.
|
|
89
|
+
Effect.provide(modelLayer)
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
// You can inspect the accumulated history at any point through the
|
|
93
|
+
// `history` ref on the chat instance.
|
|
94
|
+
const history = yield* Ref.get(session.history)
|
|
95
|
+
yield* Effect.logInfo(
|
|
96
|
+
`Conversation has ${history.content.length} messages`
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
return response.text
|
|
100
|
+
},
|
|
101
|
+
Effect.mapError((error) => AiAssistantError.fromAiError(error))
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
// ---------------------------------------------------------------------------
|
|
105
|
+
// 2. Create agentic loops with tools
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
|
|
108
|
+
const tools = yield* Tools
|
|
109
|
+
const agent = Effect.fn("AiAssistant.agent")(
|
|
110
|
+
function*(question: string) {
|
|
111
|
+
// We start the agent with a system prompt and the user question. The
|
|
112
|
+
// agent can then call tools in a loop until it decides to return a
|
|
113
|
+
// final answer.
|
|
114
|
+
const session = yield* Chat.fromPrompt([
|
|
115
|
+
{ role: "system", content: "You are an assistant that can use tools to answer questions." },
|
|
116
|
+
{ role: "user", content: question }
|
|
117
|
+
])
|
|
118
|
+
|
|
119
|
+
while (true) {
|
|
120
|
+
const response = yield* session.generateText({
|
|
121
|
+
prompt: [], // No additional prompt — the model has full access to the conversation history
|
|
122
|
+
toolkit: tools // Provide the tools to the model
|
|
123
|
+
}).pipe(
|
|
124
|
+
// Provide the model layer to use.
|
|
125
|
+
// You could potentially use different models for different turns,
|
|
126
|
+
// or even switch models in the middle of a conversation.
|
|
127
|
+
Effect.provide(modelLayer)
|
|
128
|
+
)
|
|
129
|
+
if (response.toolCalls.length > 0) {
|
|
130
|
+
// If the model called any tools, execute them and the Chat module
|
|
131
|
+
// will automatically add the tool results to the conversation
|
|
132
|
+
// history before the next turn.
|
|
133
|
+
continue
|
|
134
|
+
}
|
|
135
|
+
// If there are no tool calls, the model has returned a final answer
|
|
136
|
+
// and we can exit the loop.
|
|
137
|
+
return response.text
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
// Remap AI errors to our domain-specific error type, but die on
|
|
141
|
+
// unexpected errors.
|
|
142
|
+
Effect.catchTag(
|
|
143
|
+
"AiError",
|
|
144
|
+
(error) => Effect.fail(AiAssistantError.fromAiError(error)),
|
|
145
|
+
(e) => Effect.die(e)
|
|
146
|
+
)
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
return AiAssistant.of({
|
|
150
|
+
chat,
|
|
151
|
+
agent
|
|
152
|
+
})
|
|
153
|
+
})
|
|
154
|
+
).pipe(
|
|
155
|
+
// Provide the OpenAI client and tools layers to the AiAssistant service.
|
|
156
|
+
Layer.provide([OpenAiClientLayer, ToolsLayer])
|
|
157
|
+
)
|
|
158
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Schema } from "effect"
|
|
2
|
+
|
|
3
|
+
export class LaunchPlan extends Schema.Class<LaunchPlan>("LaunchPlan")({
|
|
4
|
+
audience: Schema.Literals(["developers", "operators", "platform teams"]),
|
|
5
|
+
channels: Schema.Array(Schema.String),
|
|
6
|
+
launchDate: Schema.String,
|
|
7
|
+
summary: Schema.String,
|
|
8
|
+
keyRisks: Schema.Array(Schema.String)
|
|
9
|
+
}) {}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @title Defining cluster entities
|
|
3
|
+
*
|
|
4
|
+
* Define distributed entity RPCs and run them in a cluster.
|
|
5
|
+
*/
|
|
6
|
+
import { NodeClusterSocket, NodeRuntime } from "@effect/platform-node"
|
|
7
|
+
import { Effect, Layer, Ref, Schema } from "effect"
|
|
8
|
+
import { ClusterSchema, Entity, TestRunner } from "effect/unstable/cluster"
|
|
9
|
+
import { Rpc } from "effect/unstable/rpc"
|
|
10
|
+
import type { SqlClient } from "effect/unstable/sql"
|
|
11
|
+
|
|
12
|
+
export const Increment = Rpc.make("Increment", {
|
|
13
|
+
payload: { amount: Schema.Int },
|
|
14
|
+
success: Schema.Int
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
export const GetCount = Rpc.make("GetCount", {
|
|
18
|
+
success: Schema.Int
|
|
19
|
+
})
|
|
20
|
+
// If you want GetCount messages to be persisted, you can annotate the RPC
|
|
21
|
+
// schema with `ClusterSchema.Persisted`.
|
|
22
|
+
//
|
|
23
|
+
// By default, messages are volatile and only sent over a network.
|
|
24
|
+
.annotate(ClusterSchema.Persisted, true)
|
|
25
|
+
|
|
26
|
+
// `Entity.make` takes an array of Rpc definitions
|
|
27
|
+
export const Counter = Entity.make("Counter", [Increment, GetCount])
|
|
28
|
+
|
|
29
|
+
// Entity handlers can keep in-memory state while the entity is active.
|
|
30
|
+
// `maxIdleTime` controls passivation: if the entity is idle long enough, it is
|
|
31
|
+
// stopped and later recreated on demand.
|
|
32
|
+
export const CounterEntityLayer = Counter.toLayer(
|
|
33
|
+
Effect.gen(function*() {
|
|
34
|
+
const count = yield* Ref.make(0)
|
|
35
|
+
|
|
36
|
+
return Counter.of({
|
|
37
|
+
Increment: ({ payload }) => Ref.updateAndGet(count, (current) => current + payload.amount),
|
|
38
|
+
GetCount: () =>
|
|
39
|
+
Ref.get(count).pipe(
|
|
40
|
+
// Add Rpc.fork to allow the GetCount handler to run concurrently with
|
|
41
|
+
// Increment handlers.
|
|
42
|
+
//
|
|
43
|
+
// This opts-out of the default behavior where all handlers for a
|
|
44
|
+
// given entity run sequentially.
|
|
45
|
+
Rpc.fork
|
|
46
|
+
)
|
|
47
|
+
})
|
|
48
|
+
}),
|
|
49
|
+
{ maxIdleTime: "5 minutes" }
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
// If you ever need to access an entity client, you can use the `client`
|
|
53
|
+
// property on the entity definition.
|
|
54
|
+
export const useCounter = Effect.gen(function*() {
|
|
55
|
+
const clientFor = yield* Counter.client
|
|
56
|
+
const counter = clientFor("counter-123")
|
|
57
|
+
|
|
58
|
+
const afterIncrement = yield* counter.Increment({ amount: 1 })
|
|
59
|
+
const currentCount = yield* counter.GetCount()
|
|
60
|
+
|
|
61
|
+
console.log(`Count after increment: ${afterIncrement}, current count: ${currentCount}`)
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
// `SingleRunner.layer` is useful for local development / tests where you still
|
|
65
|
+
// want the cluster entity runtime model.
|
|
66
|
+
declare const SqlClientLayer: Layer.Layer<SqlClient.SqlClient>
|
|
67
|
+
|
|
68
|
+
// Create the cluster layer using `NodeClusterSocket.layer`
|
|
69
|
+
const ClusterLayer = NodeClusterSocket.layer().pipe(
|
|
70
|
+
Layer.provide(SqlClientLayer)
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
// You can also use `TestRunner.layer` to run your entities in a single process,
|
|
74
|
+
// without any network communication and in-memory storage. This is useful for testing and
|
|
75
|
+
// development.
|
|
76
|
+
const ClusterLayerTest = TestRunner.layer
|
|
77
|
+
|
|
78
|
+
// Merge all your entity layers together and provide the cluster layer to run
|
|
79
|
+
// them in a cluster.
|
|
80
|
+
const EntitiesLayer = Layer.mergeAll(
|
|
81
|
+
CounterEntityLayer
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
const ProductionLayer = EntitiesLayer.pipe(
|
|
85
|
+
Layer.provide(ClusterLayer)
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
export const TestLayer = EntitiesLayer.pipe(
|
|
89
|
+
// For testing, we can use `Layer.provideMerge` to tests can access storage
|
|
90
|
+
// and other cluster services directly.
|
|
91
|
+
Layer.provideMerge(ClusterLayerTest)
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
// Finally, run your app with the entities layer.
|
|
95
|
+
Layer.launch(ProductionLayer).pipe(
|
|
96
|
+
NodeRuntime.runMain
|
|
97
|
+
)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Effect library documentation
|
|
2
|
+
|
|
3
|
+
This documentation covers the Effect library and its related packages.
|
|
4
|
+
|
|
5
|
+
When you need to find information about Effect, use this documentation and the
|
|
6
|
+
Effect source code available in your environment. Avoid unrelated copies of
|
|
7
|
+
Effect or external documentation, as they may be outdated or incorrect.
|
|
8
|
+
|
|
9
|
+
**Note**: The examples in this documentation contain comments for illustration
|
|
10
|
+
purposes. In practice, you would not include these comments in your code.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
+
"extends": "../tsconfig.base.json",
|
|
4
|
+
"include": ["src/**/*.ts", "src/**/*.tsx"],
|
|
5
|
+
"compilerOptions": {
|
|
6
|
+
"rootDir": ".",
|
|
7
|
+
"noEmit": true,
|
|
8
|
+
"declaration": false,
|
|
9
|
+
"declarationMap": false,
|
|
10
|
+
"composite": false,
|
|
11
|
+
"incremental": false,
|
|
12
|
+
"types": ["node"],
|
|
13
|
+
"plugins": [
|
|
14
|
+
{
|
|
15
|
+
"name": "@effect/language-service",
|
|
16
|
+
"namespaceImportPackages": [],
|
|
17
|
+
"diagnosticSeverity": {
|
|
18
|
+
"floatingEffect": "off",
|
|
19
|
+
"preferSchemaOverJson": "off"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|
package/dist/MysqlClient.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export type TypeId = "~@effect/sql-mysql2/MysqlClient";
|
|
|
39
39
|
/**
|
|
40
40
|
* mysql2-backed SQL client service, extending `SqlClient` with its runtime type marker and client configuration.
|
|
41
41
|
*
|
|
42
|
-
* @category
|
|
42
|
+
* @category services
|
|
43
43
|
* @since 4.0.0
|
|
44
44
|
*/
|
|
45
45
|
export interface MysqlClient extends Client.SqlClient {
|
|
@@ -76,6 +76,11 @@ export interface MysqlClientConfig {
|
|
|
76
76
|
readonly maxConnections?: number | undefined;
|
|
77
77
|
readonly connectionTTL?: Duration.Input | undefined;
|
|
78
78
|
readonly poolConfig?: Mysql.PoolOptions | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Use the text protocol instead of prepared statements, for proxies like
|
|
81
|
+
* Cloudflare Hyperdrive that do not support `COM_STMT_PREPARE`.
|
|
82
|
+
*/
|
|
83
|
+
readonly disablePreparedStatements?: boolean | undefined;
|
|
79
84
|
readonly spanAttributes?: Record<string, unknown> | undefined;
|
|
80
85
|
readonly transformResultNames?: ((str: string) => string) | undefined;
|
|
81
86
|
readonly transformQueryNames?: ((str: string) => string) | undefined;
|
|
@@ -104,7 +109,7 @@ export declare const layer: (config: MysqlClientConfig) => Layer.Layer<MysqlClie
|
|
|
104
109
|
/**
|
|
105
110
|
* Creates the MySQL statement compiler, using `?` placeholders and backtick-escaped identifiers.
|
|
106
111
|
*
|
|
107
|
-
* @category
|
|
112
|
+
* @category constructors
|
|
108
113
|
* @since 4.0.0
|
|
109
114
|
*/
|
|
110
115
|
export declare const makeCompiler: (transform?: (_: string) => string) => Statement.Compiler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MysqlClient.d.ts","sourceRoot":"","sources":["../src/MysqlClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD,OAAO,EAOL,QAAQ,EAKT,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAkG/B;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAA0C,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,iCAAiC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,SAAS;IACnD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CACnC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,2CAAiE,CAAA;AAEzF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IAE5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IAEjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IAEnD,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;IAEnD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAE7D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;CACrE;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,YACN,iBAAiB,KACzB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,UAAU,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"MysqlClient.d.ts","sourceRoot":"","sources":["../src/MysqlClient.ts"],"names":[],"mappings":"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"}
|
package/dist/MysqlClient.js
CHANGED
|
@@ -138,12 +138,13 @@ export const MysqlClient = /*#__PURE__*/Context.Service("@effect/sql-mysql2/Mysq
|
|
|
138
138
|
export const make = options => Effect.gen(function* () {
|
|
139
139
|
const compiler = makeCompiler(options.transformQueryNames);
|
|
140
140
|
const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : undefined;
|
|
141
|
+
const defaultMethod = options.disablePreparedStatements === true ? "query" : "execute";
|
|
141
142
|
class ConnectionImpl {
|
|
142
143
|
conn;
|
|
143
144
|
constructor(conn) {
|
|
144
145
|
this.conn = conn;
|
|
145
146
|
}
|
|
146
|
-
runRaw(sql, values, rowsAsArray = false, method =
|
|
147
|
+
runRaw(sql, values, rowsAsArray = false, method = defaultMethod) {
|
|
147
148
|
return Effect.callback(resume => {
|
|
148
149
|
const operation = method === "query" ? "executeUnprepared" : "execute";
|
|
149
150
|
this.conn[method]({
|
|
@@ -161,7 +162,7 @@ export const make = options => Effect.gen(function* () {
|
|
|
161
162
|
});
|
|
162
163
|
});
|
|
163
164
|
}
|
|
164
|
-
run(sql, values, rowsAsArray = false, method =
|
|
165
|
+
run(sql, values, rowsAsArray = false, method = defaultMethod) {
|
|
165
166
|
return this.runRaw(sql, values, rowsAsArray, method).pipe(Effect.map(results => Array.isArray(results) ? results : []));
|
|
166
167
|
}
|
|
167
168
|
execute(sql, params, transformRows) {
|
|
@@ -199,8 +200,8 @@ export const make = options => Effect.gen(function* () {
|
|
|
199
200
|
password: options.password ? Redacted.value(options.password) : undefined,
|
|
200
201
|
multipleStatements: true,
|
|
201
202
|
supportBigNumbers: true,
|
|
202
|
-
connectionLimit: options.maxConnections,
|
|
203
|
-
idleTimeout: options.connectionTTL ? Duration.toMillis(Duration.fromInputUnsafe(options.connectionTTL)) :
|
|
203
|
+
connectionLimit: options.maxConnections ?? options.poolConfig?.connectionLimit,
|
|
204
|
+
idleTimeout: options.connectionTTL ? Duration.toMillis(Duration.fromInputUnsafe(options.connectionTTL)) : options.poolConfig?.idleTimeout
|
|
204
205
|
});
|
|
205
206
|
yield* Effect.acquireRelease(Effect.callback(resume => {
|
|
206
207
|
;
|
|
@@ -270,7 +271,7 @@ export const layer = config => Layer.effectContext(Effect.map(make(config), clie
|
|
|
270
271
|
/**
|
|
271
272
|
* Creates the MySQL statement compiler, using `?` placeholders and backtick-escaped identifiers.
|
|
272
273
|
*
|
|
273
|
-
* @category
|
|
274
|
+
* @category constructors
|
|
274
275
|
* @since 4.0.0
|
|
275
276
|
*/
|
|
276
277
|
export const makeCompiler = transform => Statement.makeCompiler({
|
package/dist/MysqlClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MysqlClient.js","names":["Config","Context","Duration","Effect","Layer","Redacted","Stream","Reactivity","Client","AuthenticationError","AuthorizationError","ConnectionError","ConstraintError","DeadlockError","LockTimeoutError","SqlError","SqlSyntaxError","StatementTimeoutError","UniqueViolation","UnknownError","asyncPauseResume","Statement","Mysql","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","mysqlErrnoFromCause","cause","undefined","errno","mysqlConnectionErrorCodes","Set","mysqlAuthorizationErrorCodes","mysqlSyntaxErrorCodes","mysqlConstraintErrorCodes","UNKNOWN_CONSTRAINT","normalizeConstraintIdentifier","identifier","trimmed","trim","length","mysqlCauseProperty","property","mysqlDuplicateEntryConstraintFromMessage","message","match","exec","mysqlDuplicateEntryConstraintFromCause","constraint","sqlMessageConstraint","classifyError","operation","props","has","TypeId","MysqlClient","Service","make","options","gen","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","ConnectionImpl","conn","constructor","runRaw","sql","values","rowsAsArray","method","callback","resume","results","_fields","fail","reason","succeed","run","pipe","map","Array","isArray","execute","params","executeRaw","executeValues","executeValuesUnprepared","executeUnprepared","executeStream","stream","queryStream","mapArray","_","pool","url","createPool","uri","value","multipleStatements","supportBigNumbers","connectionLimit","maxConnections","idleTimeout","connectionTTL","toMillis","fromInputUnsafe","poolConfig","host","port","database","user","username","password","acquireRelease","query","void","end","timeoutOrElse","duration","seconds","orElse","Error","poolConnection","acquireConn","getConnection","sync","release","transactionAcquirer","spanAttributes","Object","entries","push","assign","acquirer","config","layerConfig","effectContext","unwrap","flatMap","client","add","SqlClient","provide","layer","transform","dialect","placeholder","onIdentifier","withoutTransform","escape","onCustom","onRecordUpdate","defaultEscape","fnUntraced","emit","addFinalizer","destroy","buffer","taskPending","on","row","queueMicrotask","items","onPause","pause","onResume"],"sources":["../src/MysqlClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MysqlClient.js","names":[],"sources":["../src/MysqlClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/MysqlMigrator.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export * from "effect/unstable/sql/Migrator";
|
|
|
21
21
|
/**
|
|
22
22
|
* Runs SQL migrations using the configured `SqlClient`, returning the migrations that were applied.
|
|
23
23
|
*
|
|
24
|
-
* @category
|
|
24
|
+
* @category running
|
|
25
25
|
* @since 4.0.0
|
|
26
26
|
*/
|
|
27
27
|
export declare const run: <R2 = never>({ loader, schemaDirectory, table }: Migrator.MigratorOptions<R2>) => Effect.Effect<ReadonlyArray<readonly [id: number, name: string]>, Migrator.MigrationError | SqlError, Client.SqlClient | R2>;
|
package/dist/MysqlMigrator.js
CHANGED
|
@@ -7,7 +7,7 @@ export * from "effect/unstable/sql/Migrator";
|
|
|
7
7
|
/**
|
|
8
8
|
* Runs SQL migrations using the configured `SqlClient`, returning the migrations that were applied.
|
|
9
9
|
*
|
|
10
|
-
* @category
|
|
10
|
+
* @category running
|
|
11
11
|
* @since 4.0.0
|
|
12
12
|
*/
|
|
13
13
|
export const run = /*#__PURE__*/Migrator.make({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MysqlMigrator.js","names":[
|
|
1
|
+
{"version":3,"file":"MysqlMigrator.js","names":[],"sources":["../src/MysqlMigrator.ts"],"sourcesContent":[null],"mappings":"AAYA,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,QAAQ,MAAM,8BAA8B;AAIxD;;;AAGA,cAAc,8BAA8B;AAE5C;;;;;;AAMA,OAAO,MAAM,GAAG,gBAMZ,QAAQ,CAAC,IAAI,CAAC;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA,CACD,CAAC;AAEF;;;;;;AAMA,OAAO,MAAM,KAAK,GAChB,OAAoC,IAKjC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC","ignoreList":[]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAK,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAK,aAAa,MAAM,oBAAoB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-mysql2",
|
|
3
|
-
"version": "4.0.0-
|
|
3
|
+
"version": "4.0.0-rc.108",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A MySQL toolkit for Effect",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
".": "./dist/index.js",
|
|
30
30
|
"./*": "./dist/*.js",
|
|
31
31
|
"./internal/*": null,
|
|
32
|
+
"./index": null,
|
|
32
33
|
"./*/index": null
|
|
33
34
|
},
|
|
34
35
|
"files": [
|
|
@@ -36,18 +37,21 @@
|
|
|
36
37
|
"dist/**/*.js",
|
|
37
38
|
"dist/**/*.js.map",
|
|
38
39
|
"dist/**/*.d.ts",
|
|
39
|
-
"dist/**/*.d.ts.map"
|
|
40
|
+
"dist/**/*.d.ts.map",
|
|
41
|
+
"AGENTS.md",
|
|
42
|
+
"CLAUDE.md",
|
|
43
|
+
"ai-docs/**/*"
|
|
40
44
|
],
|
|
41
45
|
"publishConfig": {
|
|
42
46
|
"access": "public",
|
|
43
47
|
"provenance": true
|
|
44
48
|
},
|
|
45
49
|
"devDependencies": {
|
|
46
|
-
"@testcontainers/mysql": "^
|
|
47
|
-
"effect": "^4.0.0-
|
|
50
|
+
"@testcontainers/mysql": "^12.0.4",
|
|
51
|
+
"effect": "^4.0.0-rc.108"
|
|
48
52
|
},
|
|
49
53
|
"peerDependencies": {
|
|
50
|
-
"effect": "^4.0.0-
|
|
54
|
+
"effect": "^4.0.0-rc.108"
|
|
51
55
|
},
|
|
52
56
|
"dependencies": {
|
|
53
57
|
"mysql2": "^3.22.6"
|
|
@@ -56,8 +60,6 @@
|
|
|
56
60
|
"codegen": "effect-utils codegen",
|
|
57
61
|
"build": "tsc -b tsconfig.json && pnpm babel",
|
|
58
62
|
"babel": "babel dist --plugins annotate-pure-calls --out-dir dist --source-maps",
|
|
59
|
-
"check": "tsc -b tsconfig.json"
|
|
60
|
-
"test": "vitest",
|
|
61
|
-
"coverage": "vitest --coverage"
|
|
63
|
+
"check": "tsc -b tsconfig.json"
|
|
62
64
|
}
|
|
63
65
|
}
|
package/src/MysqlClient.ts
CHANGED
|
@@ -153,7 +153,7 @@ export type TypeId = "~@effect/sql-mysql2/MysqlClient"
|
|
|
153
153
|
/**
|
|
154
154
|
* mysql2-backed SQL client service, extending `SqlClient` with its runtime type marker and client configuration.
|
|
155
155
|
*
|
|
156
|
-
* @category
|
|
156
|
+
* @category services
|
|
157
157
|
* @since 4.0.0
|
|
158
158
|
*/
|
|
159
159
|
export interface MysqlClient extends Client.SqlClient {
|
|
@@ -196,6 +196,12 @@ export interface MysqlClientConfig {
|
|
|
196
196
|
|
|
197
197
|
readonly poolConfig?: Mysql.PoolOptions | undefined
|
|
198
198
|
|
|
199
|
+
/**
|
|
200
|
+
* Use the text protocol instead of prepared statements, for proxies like
|
|
201
|
+
* Cloudflare Hyperdrive that do not support `COM_STMT_PREPARE`.
|
|
202
|
+
*/
|
|
203
|
+
readonly disablePreparedStatements?: boolean | undefined
|
|
204
|
+
|
|
199
205
|
readonly spanAttributes?: Record<string, unknown> | undefined
|
|
200
206
|
|
|
201
207
|
readonly transformResultNames?: ((str: string) => string) | undefined
|
|
@@ -218,6 +224,7 @@ export const make = (
|
|
|
218
224
|
options.transformResultNames
|
|
219
225
|
).array :
|
|
220
226
|
undefined
|
|
227
|
+
const defaultMethod: "execute" | "query" = options.disablePreparedStatements === true ? "query" : "execute"
|
|
221
228
|
|
|
222
229
|
class ConnectionImpl implements Connection {
|
|
223
230
|
readonly conn: Mysql.PoolConnection | Mysql.Pool
|
|
@@ -229,7 +236,7 @@ export const make = (
|
|
|
229
236
|
sql: string,
|
|
230
237
|
values?: ReadonlyArray<any>,
|
|
231
238
|
rowsAsArray = false,
|
|
232
|
-
method: "execute" | "query" =
|
|
239
|
+
method: "execute" | "query" = defaultMethod
|
|
233
240
|
) {
|
|
234
241
|
return Effect.callback<unknown, SqlError>((resume) => {
|
|
235
242
|
const operation = method === "query" ? "executeUnprepared" : "execute"
|
|
@@ -253,7 +260,7 @@ export const make = (
|
|
|
253
260
|
sql: string,
|
|
254
261
|
values?: ReadonlyArray<any>,
|
|
255
262
|
rowsAsArray = false,
|
|
256
|
-
method: "execute" | "query" =
|
|
263
|
+
method: "execute" | "query" = defaultMethod
|
|
257
264
|
) {
|
|
258
265
|
return this.runRaw(sql, values, rowsAsArray, method).pipe(
|
|
259
266
|
Effect.map((results) => Array.isArray(results) ? results : [])
|
|
@@ -320,10 +327,10 @@ export const make = (
|
|
|
320
327
|
: undefined,
|
|
321
328
|
multipleStatements: true,
|
|
322
329
|
supportBigNumbers: true,
|
|
323
|
-
connectionLimit: options.maxConnections,
|
|
330
|
+
connectionLimit: options.maxConnections ?? options.poolConfig?.connectionLimit,
|
|
324
331
|
idleTimeout: options.connectionTTL
|
|
325
332
|
? Duration.toMillis(Duration.fromInputUnsafe(options.connectionTTL))
|
|
326
|
-
:
|
|
333
|
+
: options.poolConfig?.idleTimeout
|
|
327
334
|
} as Mysql.PoolOptions)
|
|
328
335
|
|
|
329
336
|
yield* Effect.acquireRelease(
|
|
@@ -448,7 +455,7 @@ export const layer = (
|
|
|
448
455
|
/**
|
|
449
456
|
* Creates the MySQL statement compiler, using `?` placeholders and backtick-escaped identifiers.
|
|
450
457
|
*
|
|
451
|
-
* @category
|
|
458
|
+
* @category constructors
|
|
452
459
|
* @since 4.0.0
|
|
453
460
|
*/
|
|
454
461
|
export const makeCompiler = (transform?: (_: string) => string) =>
|
package/src/MysqlMigrator.ts
CHANGED
|
@@ -23,7 +23,7 @@ export * from "effect/unstable/sql/Migrator"
|
|
|
23
23
|
/**
|
|
24
24
|
* Runs SQL migrations using the configured `SqlClient`, returning the migrations that were applied.
|
|
25
25
|
*
|
|
26
|
-
* @category
|
|
26
|
+
* @category running
|
|
27
27
|
* @since 4.0.0
|
|
28
28
|
*/
|
|
29
29
|
export const run: <R2 = never>(
|