@enfyra/mcp-server 0.1.69 → 0.1.71
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 +1 -1
- package/dist/lib/config-local-adapters.d.ts +18 -0
- package/dist/lib/config-local-adapters.js +271 -0
- package/dist/lib/config-local-adapters.js.map +1 -0
- package/dist/lib/config-local-contracts.d.ts +28 -0
- package/dist/lib/config-local-contracts.js +200 -0
- package/dist/lib/config-local-contracts.js.map +1 -0
- package/dist/lib/config-local-prompts.d.ts +10 -0
- package/dist/lib/config-local-prompts.js +185 -0
- package/dist/lib/config-local-prompts.js.map +1 -0
- package/dist/lib/config-local-types.d.ts +23 -0
- package/dist/lib/config-local-types.js +2 -0
- package/dist/lib/config-local-types.js.map +1 -0
- package/dist/lib/config-local.js +3 -649
- package/dist/lib/config-local.js.map +1 -1
- package/dist/lib/discovery-tools.d.ts +4 -0
- package/dist/lib/discovery-tools.js +546 -0
- package/dist/lib/discovery-tools.js.map +1 -0
- package/dist/lib/dynamic-repository-builder.d.ts +1 -1
- package/dist/lib/dynamic-script-context-contract.d.ts +100 -0
- package/dist/lib/dynamic-script-context-contract.js +163 -0
- package/dist/lib/dynamic-script-context-contract.js.map +1 -0
- package/dist/lib/enfyra-mcp-server.d.ts +3 -0
- package/dist/lib/enfyra-mcp-server.js +79 -0
- package/dist/lib/enfyra-mcp-server.js.map +1 -0
- package/dist/lib/enfyra-tool-logic.d.ts +7 -0
- package/dist/lib/enfyra-tool-logic.js +8 -0
- package/dist/lib/enfyra-tool-logic.js.map +1 -0
- package/dist/lib/enfyra-tool-types.d.ts +27 -0
- package/dist/lib/enfyra-tool-types.js +2 -0
- package/dist/lib/enfyra-tool-types.js.map +1 -0
- package/dist/lib/extension-api-builders.d.ts +17 -0
- package/dist/lib/extension-api-builders.js +235 -0
- package/dist/lib/extension-api-builders.js.map +1 -0
- package/dist/lib/extension-component-builders.d.ts +87 -0
- package/dist/lib/extension-component-builders.js +623 -0
- package/dist/lib/extension-component-builders.js.map +1 -0
- package/dist/lib/extension-contract-review.d.ts +26 -0
- package/dist/lib/extension-contract-review.js +187 -0
- package/dist/lib/extension-contract-review.js.map +1 -0
- package/dist/lib/extension-theme-contract.d.ts +63 -0
- package/dist/lib/extension-theme-contract.js +417 -0
- package/dist/lib/extension-theme-contract.js.map +1 -0
- package/dist/lib/identity-tools.d.ts +4 -0
- package/dist/lib/identity-tools.js +46 -0
- package/dist/lib/identity-tools.js.map +1 -0
- package/dist/lib/log-tools.d.ts +4 -0
- package/dist/lib/log-tools.js +65 -0
- package/dist/lib/log-tools.js.map +1 -0
- package/dist/lib/mcp-example-connect.d.ts +9 -0
- package/dist/lib/mcp-example-connect.js +442 -0
- package/dist/lib/mcp-example-connect.js.map +1 -0
- package/dist/lib/mcp-example-extensions.d.ts +9 -0
- package/dist/lib/mcp-example-extensions.js +729 -0
- package/dist/lib/mcp-example-extensions.js.map +1 -0
- package/dist/lib/mcp-example-files.d.ts +9 -0
- package/dist/lib/mcp-example-files.js +51 -0
- package/dist/lib/mcp-example-files.js.map +1 -0
- package/dist/lib/mcp-example-flows.d.ts +9 -0
- package/dist/lib/mcp-example-flows.js +76 -0
- package/dist/lib/mcp-example-flows.js.map +1 -0
- package/dist/lib/mcp-example-graphql.d.ts +9 -0
- package/dist/lib/mcp-example-graphql.js +57 -0
- package/dist/lib/mcp-example-graphql.js.map +1 -0
- package/dist/lib/mcp-example-handlers-hooks.d.ts +9 -0
- package/dist/lib/mcp-example-handlers-hooks.js +328 -0
- package/dist/lib/mcp-example-handlers-hooks.js.map +1 -0
- package/dist/lib/mcp-example-oauth-setup.d.ts +9 -0
- package/dist/lib/mcp-example-oauth-setup.js +41 -0
- package/dist/lib/mcp-example-oauth-setup.js.map +1 -0
- package/dist/lib/mcp-example-permissions-rls.d.ts +9 -0
- package/dist/lib/mcp-example-permissions-rls.js +210 -0
- package/dist/lib/mcp-example-permissions-rls.js.map +1 -0
- package/dist/lib/mcp-example-queries-deep.d.ts +9 -0
- package/dist/lib/mcp-example-queries-deep.js +220 -0
- package/dist/lib/mcp-example-queries-deep.js.map +1 -0
- package/dist/lib/mcp-example-schema-relations.d.ts +9 -0
- package/dist/lib/mcp-example-schema-relations.js +148 -0
- package/dist/lib/mcp-example-schema-relations.js.map +1 -0
- package/dist/lib/mcp-example-websocket.d.ts +9 -0
- package/dist/lib/mcp-example-websocket.js +103 -0
- package/dist/lib/mcp-example-websocket.js.map +1 -0
- package/dist/lib/mcp-examples.d.ts +5 -5
- package/dist/lib/mcp-examples.js +22 -2394
- package/dist/lib/mcp-examples.js.map +1 -1
- package/dist/lib/method-tools.d.ts +4 -0
- package/dist/lib/method-tools.js +217 -0
- package/dist/lib/method-tools.js.map +1 -0
- package/dist/lib/package-tools.d.ts +4 -0
- package/dist/lib/package-tools.js +98 -0
- package/dist/lib/package-tools.js.map +1 -0
- package/dist/lib/platform-data-operations.d.ts +24 -0
- package/dist/lib/platform-data-operations.js +71 -0
- package/dist/lib/platform-data-operations.js.map +1 -0
- package/dist/lib/platform-endpoint-workflow.d.ts +42 -0
- package/dist/lib/platform-endpoint-workflow.js +382 -0
- package/dist/lib/platform-endpoint-workflow.js.map +1 -0
- package/dist/lib/platform-extension-source.d.ts +487 -0
- package/dist/lib/platform-extension-source.js +524 -0
- package/dist/lib/platform-extension-source.js.map +1 -0
- package/dist/lib/platform-extension-tools.d.ts +1 -0
- package/dist/lib/platform-extension-tools.js +416 -0
- package/dist/lib/platform-extension-tools.js.map +1 -0
- package/dist/lib/platform-extension-ui.d.ts +4 -0
- package/dist/lib/platform-extension-ui.js +5 -0
- package/dist/lib/platform-extension-ui.js.map +1 -0
- package/dist/lib/platform-extension-workflow.d.ts +54 -0
- package/dist/lib/platform-extension-workflow.js +194 -0
- package/dist/lib/platform-extension-workflow.js.map +1 -0
- package/dist/lib/platform-flow-operations.d.ts +554 -0
- package/dist/lib/platform-flow-operations.js +317 -0
- package/dist/lib/platform-flow-operations.js.map +1 -0
- package/dist/lib/platform-flow-tools.d.ts +1 -0
- package/dist/lib/platform-flow-tools.js +248 -0
- package/dist/lib/platform-flow-tools.js.map +1 -0
- package/dist/lib/platform-operation-logic.d.ts +10 -0
- package/dist/lib/platform-operation-logic.js +11 -0
- package/dist/lib/platform-operation-logic.js.map +1 -0
- package/dist/lib/platform-operation-tools.d.ts +1 -324
- package/dist/lib/platform-operation-tools.js +13 -4620
- package/dist/lib/platform-operation-tools.js.map +1 -1
- package/dist/lib/platform-operation-types.d.ts +46 -0
- package/dist/lib/platform-operation-types.js +2 -0
- package/dist/lib/platform-operation-types.js.map +1 -0
- package/dist/lib/platform-policy-tools.d.ts +1 -0
- package/dist/lib/platform-policy-tools.js +248 -0
- package/dist/lib/platform-policy-tools.js.map +1 -0
- package/dist/lib/platform-resource-operations.d.ts +124 -0
- package/dist/lib/platform-resource-operations.js +109 -0
- package/dist/lib/platform-resource-operations.js.map +1 -0
- package/dist/lib/platform-resource-tools.d.ts +1 -0
- package/dist/lib/platform-resource-tools.js +70 -0
- package/dist/lib/platform-resource-tools.js.map +1 -0
- package/dist/lib/platform-route-operations.d.ts +222 -0
- package/dist/lib/platform-route-operations.js +290 -0
- package/dist/lib/platform-route-operations.js.map +1 -0
- package/dist/lib/platform-route-tools.d.ts +1 -0
- package/dist/lib/platform-route-tools.js +307 -0
- package/dist/lib/platform-route-tools.js.map +1 -0
- package/dist/lib/platform-shared-operations.d.ts +7 -0
- package/dist/lib/platform-shared-operations.js +4 -0
- package/dist/lib/platform-shared-operations.js.map +1 -0
- package/dist/lib/platform-websocket-tools.d.ts +1 -0
- package/dist/lib/platform-websocket-tools.js +70 -0
- package/dist/lib/platform-websocket-tools.js.map +1 -0
- package/dist/lib/record-tools.d.ts +4 -0
- package/dist/lib/record-tools.js +418 -0
- package/dist/lib/record-tools.js.map +1 -0
- package/dist/lib/required-knowledge.d.ts +1 -1
- package/dist/lib/required-knowledge.js +3 -2
- package/dist/lib/required-knowledge.js.map +1 -1
- package/dist/lib/route-access-tools.d.ts +4 -0
- package/dist/lib/route-access-tools.js +172 -0
- package/dist/lib/route-access-tools.js.map +1 -0
- package/dist/lib/route-definition-tools.d.ts +4 -0
- package/dist/lib/route-definition-tools.js +285 -0
- package/dist/lib/route-definition-tools.js.map +1 -0
- package/dist/lib/route-inspection-tools.d.ts +4 -0
- package/dist/lib/route-inspection-tools.js +319 -0
- package/dist/lib/route-inspection-tools.js.map +1 -0
- package/dist/lib/route-tools.d.ts +1 -0
- package/dist/lib/route-tools.js +9 -0
- package/dist/lib/route-tools.js.map +1 -0
- package/dist/lib/runtime-zone-registry.d.ts +27 -0
- package/dist/lib/runtime-zone-registry.js +81 -0
- package/dist/lib/runtime-zone-registry.js.map +1 -0
- package/dist/lib/runtime-zone-search.d.ts +303 -0
- package/dist/lib/runtime-zone-search.js +596 -0
- package/dist/lib/runtime-zone-search.js.map +1 -0
- package/dist/lib/runtime-zone-tools.d.ts +2 -307
- package/dist/lib/runtime-zone-tools.js +2 -674
- package/dist/lib/runtime-zone-tools.js.map +1 -1
- package/dist/lib/schema-column-tools.d.ts +3 -0
- package/dist/lib/schema-column-tools.js +80 -0
- package/dist/lib/schema-column-tools.js.map +1 -0
- package/dist/lib/schema-mutation-coordinator.d.ts +28 -0
- package/dist/lib/schema-mutation-coordinator.js +154 -0
- package/dist/lib/schema-mutation-coordinator.js.map +1 -0
- package/dist/lib/schema-relation-contracts.d.ts +39 -0
- package/dist/lib/schema-relation-contracts.js +160 -0
- package/dist/lib/schema-relation-contracts.js.map +1 -0
- package/dist/lib/schema-relation-tools.d.ts +3 -0
- package/dist/lib/schema-relation-tools.js +61 -0
- package/dist/lib/schema-relation-tools.js.map +1 -0
- package/dist/lib/schema-table-contracts.d.ts +28 -0
- package/dist/lib/schema-table-contracts.js +263 -0
- package/dist/lib/schema-table-contracts.js.map +1 -0
- package/dist/lib/schema-table-tools.d.ts +3 -0
- package/dist/lib/schema-table-tools.js +297 -0
- package/dist/lib/schema-table-tools.js.map +1 -0
- package/dist/lib/schema-tool-operations.d.ts +150 -0
- package/dist/lib/schema-tool-operations.js +468 -0
- package/dist/lib/schema-tool-operations.js.map +1 -0
- package/dist/lib/schema-tool-types.d.ts +38 -0
- package/dist/lib/schema-tool-types.js +2 -0
- package/dist/lib/schema-tool-types.js.map +1 -0
- package/dist/lib/schema-verification.d.ts +14 -0
- package/dist/lib/schema-verification.js +105 -0
- package/dist/lib/schema-verification.js.map +1 -0
- package/dist/lib/script-tools.d.ts +4 -0
- package/dist/lib/script-tools.js +127 -0
- package/dist/lib/script-tools.js.map +1 -0
- package/dist/lib/system-tools.d.ts +4 -0
- package/dist/lib/system-tools.js +41 -0
- package/dist/lib/system-tools.js.map +1 -0
- package/dist/lib/table-tool-logic.d.ts +5 -0
- package/dist/lib/table-tool-logic.js +6 -0
- package/dist/lib/table-tool-logic.js.map +1 -0
- package/dist/lib/table-tools.d.ts +1 -84
- package/dist/lib/table-tools.js +7 -1522
- package/dist/lib/table-tools.js.map +1 -1
- package/dist/lib/tool-catalog.d.ts +2 -1
- package/dist/lib/tool-catalog.js +23 -2
- package/dist/lib/tool-catalog.js.map +1 -1
- package/dist/lib/tool-metadata-operations.d.ts +27 -0
- package/dist/lib/tool-metadata-operations.js +93 -0
- package/dist/lib/tool-metadata-operations.js.map +1 -0
- package/dist/lib/tool-permission-profile.d.ts +37 -0
- package/dist/lib/tool-permission-profile.js +106 -0
- package/dist/lib/tool-permission-profile.js.map +1 -0
- package/dist/lib/tool-record-operations.d.ts +102 -0
- package/dist/lib/tool-record-operations.js +260 -0
- package/dist/lib/tool-record-operations.js.map +1 -0
- package/dist/lib/tool-route-inspection.d.ts +47 -0
- package/dist/lib/tool-route-inspection.js +168 -0
- package/dist/lib/tool-route-inspection.js.map +1 -0
- package/dist/lib/tool-routing.d.ts +3 -417
- package/dist/lib/tool-routing.js +3 -1038
- package/dist/lib/tool-routing.js.map +1 -1
- package/dist/lib/tool-runtime-config.d.ts +33 -0
- package/dist/lib/tool-runtime-config.js +237 -0
- package/dist/lib/tool-runtime-config.js.map +1 -0
- package/dist/lib/tool-script-operations.d.ts +34 -0
- package/dist/lib/tool-script-operations.js +153 -0
- package/dist/lib/tool-script-operations.js.map +1 -0
- package/dist/lib/workflow-definitions.d.ts +366 -0
- package/dist/lib/workflow-definitions.js +703 -0
- package/dist/lib/workflow-definitions.js.map +1 -0
- package/dist/lib/workflow-planner.d.ts +45 -0
- package/dist/lib/workflow-planner.js +338 -0
- package/dist/lib/workflow-planner.js.map +1 -0
- package/dist/lib/workflow-types.d.ts +39 -0
- package/dist/lib/workflow-types.js +2 -0
- package/dist/lib/workflow-types.js.map +1 -0
- package/dist/mcp-server-entry.d.ts +0 -3
- package/dist/mcp-server-entry.js +2 -3249
- package/dist/mcp-server-entry.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export const websocketExamples = {
|
|
2
|
+
title: 'Socket.IO gateways, events, rooms, and browser connection',
|
|
3
|
+
useWhen: 'Use when creating realtime features.',
|
|
4
|
+
examples: [
|
|
5
|
+
{
|
|
6
|
+
name: 'Browser client connection through app bridge',
|
|
7
|
+
code: `import { io } from "socket.io-client"
|
|
8
|
+
|
|
9
|
+
const socket = io("/chat", {
|
|
10
|
+
path: "/socket.io",
|
|
11
|
+
withCredentials: true,
|
|
12
|
+
transports: ["polling", "websocket"]
|
|
13
|
+
})`,
|
|
14
|
+
notes: [
|
|
15
|
+
'/chat is the Socket.IO namespace.',
|
|
16
|
+
'/socket.io is the app-origin transport path proxied to Enfyra app /ws/socket.io.',
|
|
17
|
+
'Do not connect browser code directly to the hidden backend.',
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'Connection script confirms authenticated readiness',
|
|
22
|
+
code: `if (!@USER?.id) {
|
|
23
|
+
@SOCKET.disconnect()
|
|
24
|
+
return
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@SOCKET.reply("chat:ready", { userId: @USER.id })`,
|
|
28
|
+
notes: [
|
|
29
|
+
'Authenticated Enfyra sockets already load @USER.',
|
|
30
|
+
'Enfyra joins user_<userId> automatically after the connection script succeeds; do not manually duplicate that lifecycle room.',
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Chat join event',
|
|
35
|
+
code: `const conversationId = @BODY.conversationId
|
|
36
|
+
if (!conversationId) @THROW400("conversationId is required")
|
|
37
|
+
|
|
38
|
+
const membership = await #secure.chat_conversation_member.find({
|
|
39
|
+
filter: {
|
|
40
|
+
conversation: { id: { _eq: conversationId } },
|
|
41
|
+
member: { id: { _eq: @USER.id } }
|
|
42
|
+
},
|
|
43
|
+
limit: 1
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
if (!membership.data[0]) @THROW403("Not a conversation member")
|
|
47
|
+
|
|
48
|
+
@SOCKET.join(\`conversation:\${conversationId}\`)
|
|
49
|
+
@SOCKET.reply("chat:joined", { conversationId })`,
|
|
50
|
+
notes: [
|
|
51
|
+
'Join conversation rooms, not member-id rooms.',
|
|
52
|
+
'conversationId is a request/room identifier; DB filters still use the relation property conversation.',
|
|
53
|
+
'Check membership server-side; do not trust the client.',
|
|
54
|
+
'Use #secure.table_name for explicit user-facing table access so field permissions remain enforced; still select exact fields and sanitize returned data.',
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Chat message event with room broadcast and persistence',
|
|
59
|
+
code: `const { conversationId, text, clientId } = @BODY
|
|
60
|
+
if (!conversationId || !text) @THROW400("conversationId and text are required")
|
|
61
|
+
|
|
62
|
+
const membership = await #secure.chat_conversation_member.find({
|
|
63
|
+
filter: {
|
|
64
|
+
conversation: { id: { _eq: conversationId } },
|
|
65
|
+
member: { id: { _eq: @USER.id } }
|
|
66
|
+
},
|
|
67
|
+
limit: 1
|
|
68
|
+
})
|
|
69
|
+
if (!membership.data[0]) @THROW403("Not a conversation member")
|
|
70
|
+
|
|
71
|
+
const created = await #secure.chat_message.create({
|
|
72
|
+
data: {
|
|
73
|
+
conversation: { id: conversationId },
|
|
74
|
+
sender: { id: @USER.id },
|
|
75
|
+
text,
|
|
76
|
+
persistStatus: "persisted"
|
|
77
|
+
}
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
const message = created.data?.[0] ?? null
|
|
81
|
+
if (message?.id) {
|
|
82
|
+
await #secure.chat_conversation.update({
|
|
83
|
+
id: conversationId,
|
|
84
|
+
data: { lastMessage: { id: message.id }, updatedAt: message.createdAt || new Date().toISOString() }
|
|
85
|
+
})
|
|
86
|
+
}
|
|
87
|
+
@SOCKET.emitToCurrentRoom(\`conversation:\${conversationId}\`, "chat:message", {
|
|
88
|
+
clientId,
|
|
89
|
+
message
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
return { ok: true, message }`,
|
|
93
|
+
notes: [
|
|
94
|
+
'Do not ask the client for senderId. The sender relation is derived from @USER.id.',
|
|
95
|
+
'conversationId is accepted only as the room/business identifier; persistence uses relation properties conversation and sender, not physical FK fields.',
|
|
96
|
+
'Event scripts should explicitly emit replies/broadcasts.',
|
|
97
|
+
'@SOCKET has no generic emit() method. Use reply/emitToCurrentRoom/broadcastToRoom in bound websocket scripts.',
|
|
98
|
+
'Use #table_name for explicit table access in generated scripts; select exact fields, enforce membership checks, and return shaped payloads.',
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=mcp-example-websocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-example-websocket.js","sourceRoot":"","sources":["../../src/lib/mcp-example-websocket.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,KAAK,EAAE,2DAA2D;IAClE,OAAO,EAAE,sCAAsC;IAC/C,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,8CAA8C;YACpD,IAAI,EAAE;;;;;;GAMX;YACK,KAAK,EAAE;gBACL,mCAAmC;gBACnC,kFAAkF;gBAClF,6DAA6D;aAC9D;SACF;QACD;YACE,IAAI,EAAE,oDAAoD;YAC1D,IAAI,EAAE;;;;;kDAKoC;YAC1C,KAAK,EAAE;gBACL,kDAAkD;gBAClD,+HAA+H;aAChI;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE;;;;;;;;;;;;;;iDAcmC;YACzC,KAAK,EAAE;gBACL,+CAA+C;gBAC/C,uGAAuG;gBACvG,wDAAwD;gBACxD,0JAA0J;aAC3J;SACF;QACD;YACE,IAAI,EAAE,wDAAwD;YAC9D,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAiCe;YACrB,KAAK,EAAE;gBACL,mFAAmF;gBACnF,wJAAwJ;gBACxJ,0DAA0D;gBAC1D,+GAA+G;gBAC/G,6IAA6I;aAC9I;SACF;KACF;CACF,CAAC"}
|
|
@@ -9,7 +9,7 @@ export declare const EXAMPLE_CATEGORIES: {
|
|
|
9
9
|
notes: string[];
|
|
10
10
|
}[];
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
"oauth-setup": {
|
|
13
13
|
title: string;
|
|
14
14
|
useWhen: string;
|
|
15
15
|
examples: {
|
|
@@ -18,7 +18,7 @@ export declare const EXAMPLE_CATEGORIES: {
|
|
|
18
18
|
notes: string[];
|
|
19
19
|
}[];
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
"schema-relations": {
|
|
22
22
|
title: string;
|
|
23
23
|
useWhen: string;
|
|
24
24
|
examples: {
|
|
@@ -27,7 +27,7 @@ export declare const EXAMPLE_CATEGORIES: {
|
|
|
27
27
|
notes: string[];
|
|
28
28
|
}[];
|
|
29
29
|
};
|
|
30
|
-
|
|
30
|
+
"queries-deep": {
|
|
31
31
|
title: string;
|
|
32
32
|
useWhen: string;
|
|
33
33
|
examples: {
|
|
@@ -45,7 +45,7 @@ export declare const EXAMPLE_CATEGORIES: {
|
|
|
45
45
|
notes: string[];
|
|
46
46
|
}[];
|
|
47
47
|
};
|
|
48
|
-
|
|
48
|
+
"handlers-hooks": {
|
|
49
49
|
title: string;
|
|
50
50
|
useWhen: string;
|
|
51
51
|
examples: {
|
|
@@ -54,7 +54,7 @@ export declare const EXAMPLE_CATEGORIES: {
|
|
|
54
54
|
notes: string[];
|
|
55
55
|
}[];
|
|
56
56
|
};
|
|
57
|
-
|
|
57
|
+
"permissions-rls": {
|
|
58
58
|
title: string;
|
|
59
59
|
useWhen: string;
|
|
60
60
|
examples: {
|