@hed-hog/core 0.0.368 → 0.0.371
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/LICENSE.md +21 -0
- package/README.md +2 -0
- package/dist/ai/ai.service.d.ts.map +1 -1
- package/dist/ai/ai.service.js +10 -7
- package/dist/ai/ai.service.js.map +1 -1
- package/dist/app-command/app-command.module.d.ts +3 -0
- package/dist/app-command/app-command.module.d.ts.map +1 -0
- package/dist/app-command/app-command.module.js +22 -0
- package/dist/app-command/app-command.module.js.map +1 -0
- package/dist/app-command/app-command.registry.d.ts +22 -0
- package/dist/app-command/app-command.registry.d.ts.map +1 -0
- package/dist/{webhook-integration/webhook-command.registry.js → app-command/app-command.registry.js} +6 -6
- package/dist/app-command/app-command.registry.js.map +1 -0
- package/dist/auth/auth.controller.d.ts +2 -2
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +20 -7
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.service.d.ts +3 -3
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +10 -36
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/dto/forget.dto.d.ts +1 -0
- package/dist/auth/dto/forget.dto.d.ts.map +1 -1
- package/dist/auth/dto/forget.dto.js +5 -0
- package/dist/auth/dto/forget.dto.js.map +1 -1
- package/dist/auth/guards/auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/auth.guard.js +4 -1
- package/dist/auth/guards/auth.guard.js.map +1 -1
- package/dist/challenge/challenge.service.d.ts +8 -7
- package/dist/challenge/challenge.service.d.ts.map +1 -1
- package/dist/challenge/challenge.service.js +27 -19
- package/dist/challenge/challenge.service.js.map +1 -1
- package/dist/file/dto/upload.dto.d.ts +3 -0
- package/dist/file/dto/upload.dto.d.ts.map +1 -1
- package/dist/file/dto/upload.dto.js +22 -0
- package/dist/file/dto/upload.dto.js.map +1 -1
- package/dist/file/file.controller.d.ts +2 -1
- package/dist/file/file.controller.d.ts.map +1 -1
- package/dist/file/file.controller.js +29 -16
- package/dist/file/file.controller.js.map +1 -1
- package/dist/file/file.service.d.ts +51 -1
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +250 -18
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/image-optimization.service.d.ts +17 -4
- package/dist/file/image-optimization.service.d.ts.map +1 -1
- package/dist/file/image-optimization.service.js +101 -46
- package/dist/file/image-optimization.service.js.map +1 -1
- package/dist/file/provider/s3.provider.d.ts.map +1 -1
- package/dist/file/provider/s3.provider.js +15 -7
- package/dist/file/provider/s3.provider.js.map +1 -1
- package/dist/file/provider/spaces.provider.d.ts.map +1 -1
- package/dist/file/provider/spaces.provider.js +18 -8
- package/dist/file/provider/spaces.provider.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/integration/services/event-subscriber.registry.d.ts +5 -0
- package/dist/integration/services/event-subscriber.registry.d.ts.map +1 -1
- package/dist/integration/services/event-subscriber.registry.js +15 -0
- package/dist/integration/services/event-subscriber.registry.js.map +1 -1
- package/dist/integration/services/outbox.processor.d.ts.map +1 -1
- package/dist/integration/services/outbox.processor.js +2 -4
- package/dist/integration/services/outbox.processor.js.map +1 -1
- package/dist/integration/services/outbox.service.d.ts +4 -2
- package/dist/integration/services/outbox.service.d.ts.map +1 -1
- package/dist/integration/services/outbox.service.js +26 -15
- package/dist/integration/services/outbox.service.js.map +1 -1
- package/dist/integration-profile/integration-credential-crypto.service.d.ts +43 -0
- package/dist/integration-profile/integration-credential-crypto.service.d.ts.map +1 -0
- package/dist/integration-profile/integration-credential-crypto.service.js +142 -0
- package/dist/integration-profile/integration-credential-crypto.service.js.map +1 -0
- package/dist/integration-profile/integration-profile.controller.d.ts +6 -7
- package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.controller.js +4 -3
- package/dist/integration-profile/integration-profile.controller.js.map +1 -1
- package/dist/integration-profile/integration-profile.module.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.module.js +5 -2
- package/dist/integration-profile/integration-profile.module.js.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.d.ts +16 -0
- package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -0
- package/dist/integration-profile/integration-profile.secrets.js +56 -0
- package/dist/integration-profile/integration-profile.secrets.js.map +1 -0
- package/dist/integration-profile/integration-profile.service.d.ts +125 -8
- package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.service.js +257 -68
- package/dist/integration-profile/integration-profile.service.js.map +1 -1
- package/dist/integration-profile/integration-profile.utils.d.ts +17 -0
- package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.utils.js +31 -0
- package/dist/integration-profile/integration-profile.utils.js.map +1 -1
- package/dist/language/en.json +178 -0
- package/dist/language/pt.json +178 -0
- package/dist/mail/mail.controller.d.ts.map +1 -1
- package/dist/mail/mail.controller.js +5 -28
- package/dist/mail/mail.controller.js.map +1 -1
- package/dist/mail/mail.module.js +18 -18
- package/dist/mail/mail.module.js.map +1 -1
- package/dist/mail/mail.service.d.ts +13 -2
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +25 -15
- package/dist/mail/mail.service.js.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.js +6 -5
- package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
- package/dist/oauth/providers/facebook.provider.js +5 -5
- package/dist/oauth/providers/facebook.provider.js.map +1 -1
- package/dist/oauth/providers/github.provider.js +5 -5
- package/dist/oauth/providers/github.provider.js.map +1 -1
- package/dist/oauth/providers/google.provider.js +5 -5
- package/dist/oauth/providers/google.provider.js.map +1 -1
- package/dist/oauth/providers/microsoft-entra-id.provider.js +5 -5
- package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
- package/dist/oauth/providers/microsoft.provider.js +5 -5
- package/dist/oauth/providers/microsoft.provider.js.map +1 -1
- package/dist/pdf/pdf.service.d.ts +4 -0
- package/dist/pdf/pdf.service.d.ts.map +1 -1
- package/dist/pdf/pdf.service.js +16 -9
- package/dist/pdf/pdf.service.js.map +1 -1
- package/dist/profile/profile.controller.d.ts +7 -7
- package/dist/profile/profile.controller.d.ts.map +1 -1
- package/dist/profile/profile.controller.js +28 -21
- package/dist/profile/profile.controller.js.map +1 -1
- package/dist/profile/profile.service.d.ts +7 -7
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +21 -25
- package/dist/profile/profile.service.js.map +1 -1
- package/dist/setting/setting.service.d.ts +1 -0
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +15 -2
- package/dist/setting/setting.service.js.map +1 -1
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +2 -1
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/user.controller.d.ts +9 -0
- package/dist/user/user.controller.d.ts.map +1 -1
- package/dist/user/user.controller.js +13 -0
- package/dist/user/user.controller.js.map +1 -1
- package/dist/user/user.service.d.ts +7 -0
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +19 -0
- package/dist/user/user.service.js.map +1 -1
- package/dist/utils/webauthn-origin.d.ts +11 -0
- package/dist/utils/webauthn-origin.d.ts.map +1 -0
- package/dist/utils/webauthn-origin.js +37 -0
- package/dist/utils/webauthn-origin.js.map +1 -0
- package/dist/webhook-integration/webhook-integration.controller.d.ts +13 -0
- package/dist/webhook-integration/webhook-integration.controller.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-integration.controller.js +29 -0
- package/dist/webhook-integration/webhook-integration.controller.js.map +1 -1
- package/dist/webhook-integration/webhook-integration.module.js +3 -3
- package/dist/webhook-integration/webhook-integration.module.js.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.d.ts +18 -2
- package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.js +110 -6
- package/dist/webhook-integration/webhook-integration.service.js.map +1 -1
- package/hedhog/data/integration_event_catalog.yaml +118 -118
- package/hedhog/data/integration_provider.yaml +9 -0
- package/hedhog/data/integration_type.yaml +6 -0
- package/hedhog/data/menu.yaml +6 -0
- package/hedhog/data/role.yaml +7 -0
- package/hedhog/data/route.yaml +192 -207
- package/hedhog/data/setting_group.yaml +119 -13
- package/hedhog/frontend/app/access-log/page.tsx.ejs +35 -3
- package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +36 -3
- package/hedhog/frontend/app/account/components/mcp-tokens.tsx.ejs +39 -4
- package/hedhog/frontend/app/account/components/tokens.tsx.ejs +39 -4
- package/hedhog/frontend/app/ai_agent/page.tsx.ejs +35 -2
- package/hedhog/frontend/app/configurations/[slug]/components/byte-size-input.tsx.ejs +160 -0
- package/hedhog/frontend/app/configurations/[slug]/components/duration-input.tsx.ejs +157 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +244 -63
- package/hedhog/frontend/app/dashboard/[slug]/dashboard-content.tsx.ejs +33 -1
- package/hedhog/frontend/app/dashboard/management/tabs/component-roles-tab.tsx.ejs +35 -3
- package/hedhog/frontend/app/dashboard/management/tabs/components-tab.tsx.ejs +36 -4
- package/hedhog/frontend/app/dashboard/management/tabs/dashboard-roles-tab.tsx.ejs +35 -3
- package/hedhog/frontend/app/dashboard/management/tabs/dashboards-tab.tsx.ejs +36 -4
- package/hedhog/frontend/app/dashboard/management/tabs/items-tab.tsx.ejs +35 -3
- package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +141 -29
- package/hedhog/frontend/app/integrations-webhooks/page.tsx.ejs +118 -11
- package/hedhog/frontend/app/mail/log/page.tsx.ejs +37 -4
- package/hedhog/frontend/app/menu/page.tsx.ejs +34 -2
- package/hedhog/frontend/app/preferences/page.tsx.ejs +77 -0
- package/hedhog/frontend/app/roles/menus.tsx.ejs +35 -3
- package/hedhog/frontend/app/roles/page.tsx.ejs +34 -2
- package/hedhog/frontend/app/roles/routes.tsx.ejs +36 -4
- package/hedhog/frontend/app/roles/users.tsx.ejs +36 -4
- package/hedhog/frontend/app/routes/page.tsx.ejs +34 -2
- package/hedhog/frontend/app/setting-list/page.tsx.ejs +34 -2
- package/hedhog/frontend/app/users/page.tsx.ejs +51 -21
- package/hedhog/frontend/messages/en.json +69 -4
- package/hedhog/frontend/messages/pt.json +69 -4
- package/hedhog/table/event_webhook.yaml +55 -55
- package/hedhog/table/event_webhook_delivery_log.yaml +66 -66
- package/hedhog/table/event_webhook_event.yaml +26 -26
- package/hedhog/table/integration_event_catalog.yaml +41 -41
- package/hedhog/table/mcp_conversation.yaml +12 -12
- package/hedhog/table/mcp_conversation_message.yaml +23 -23
- package/hedhog/table/mcp_tool_call_log.yaml +22 -22
- package/hedhog/table/route.yaml +33 -33
- package/hedhog/table/setting.yaml +2 -0
- package/hedhog/table/webhook_call_log.yaml +3 -0
- package/hedhog/table/webhook_integration.yaml +43 -43
- package/package.json +9 -4
- package/src/ai/ai.service.ts +9 -6
- package/src/app-command/app-command.module.ts +9 -0
- package/src/{webhook-integration/webhook-command.registry.ts → app-command/app-command.registry.ts} +9 -9
- package/src/auth/auth.controller.ts +20 -4
- package/src/auth/auth.service.ts +10 -36
- package/src/auth/dto/forget.dto.ts +5 -1
- package/src/auth/guards/auth.guard.ts +4 -1
- package/src/challenge/challenge.service.ts +30 -19
- package/src/file/dto/upload.dto.ts +25 -1
- package/src/file/file.controller.ts +31 -18
- package/src/file/file.service.ts +341 -16
- package/src/file/image-optimization.service.ts +111 -46
- package/src/file/provider/s3.provider.ts +16 -7
- package/src/file/provider/spaces.provider.ts +15 -5
- package/src/index.ts +4 -1
- package/src/integration/services/event-subscriber.registry.ts +15 -0
- package/src/integration/services/outbox.processor.ts +2 -5
- package/src/integration/services/outbox.service.ts +35 -17
- package/src/integration/types/event.types.ts +4 -4
- package/src/integration-profile/integration-credential-crypto.service.ts +146 -0
- package/src/integration-profile/integration-profile.controller.ts +2 -0
- package/src/integration-profile/integration-profile.module.ts +5 -2
- package/src/integration-profile/integration-profile.secrets.ts +51 -0
- package/src/integration-profile/integration-profile.service.ts +335 -54
- package/src/integration-profile/integration-profile.utils.ts +56 -0
- package/src/language/en.json +5 -1
- package/src/language/pt.json +5 -1
- package/src/mail/mail.controller.ts +5 -29
- package/src/mail/mail.module.ts +5 -5
- package/src/mail/mail.service.ts +37 -13
- package/src/mcp/decorators/mcp-tool.decorator.ts +7 -7
- package/src/mcp/guards/mcp-permission.guard.ts +51 -51
- package/src/mcp/interfaces/mcp-tool-definition.interface.ts +6 -6
- package/src/mcp/mcp-server.service.ts +87 -87
- package/src/mcp/types/mcp-context.type.ts +6 -6
- package/src/mcp-chat/dto/create-conversation.dto.ts +7 -7
- package/src/mcp-chat/dto/send-message.dto.ts +7 -7
- package/src/mcp-chat/mcp-chat.service.ts +5 -5
- package/src/notification/events/notification-stale-progress-check.event.ts +5 -5
- package/src/oauth/oauth-callback-coordinator.service.spec.ts +159 -0
- package/src/oauth/providers/facebook.provider.ts +3 -3
- package/src/oauth/providers/github.provider.ts +3 -3
- package/src/oauth/providers/google.provider.ts +3 -3
- package/src/oauth/providers/microsoft-entra-id.provider.ts +3 -3
- package/src/oauth/providers/microsoft.provider.ts +3 -3
- package/src/pdf/pdf.service.ts +19 -6
- package/src/profile/profile.controller.ts +21 -14
- package/src/profile/profile.service.ts +23 -20
- package/src/route/dto/create.dto.ts +32 -32
- package/src/route/dto/update.dto.ts +31 -31
- package/src/security/security.service.spec.ts +222 -0
- package/src/setting/setting.service.ts +15 -2
- package/src/token/token.service.ts +2 -1
- package/src/user/user.controller.ts +26 -16
- package/src/user/user.service.ts +25 -0
- package/src/utils/webauthn-origin.ts +38 -0
- package/src/webhook-integration/integration-event-catalog.controller.ts +50 -50
- package/src/webhook-integration/integration-event-catalog.service.ts +117 -117
- package/src/webhook-integration/webhook-integration.controller.ts +23 -0
- package/src/webhook-integration/webhook-integration.module.ts +3 -3
- package/src/webhook-integration/webhook-integration.service.ts +115 -5
- package/dist/webhook-integration/webhook-command.registry.d.ts +0 -22
- package/dist/webhook-integration/webhook-command.registry.d.ts.map +0 -1
- package/dist/webhook-integration/webhook-command.registry.js.map +0 -1
- package/src/menu/menu.service.spec.ts +0 -247
- package/src/route/route.service.spec.ts +0 -300
- package/src/screen/screen.service.spec.ts +0 -298
- package/src/user/user.service.spec.ts +0 -294
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- type: fk
|
|
4
|
-
name: event_webhook_id
|
|
5
|
-
isNullable: true
|
|
6
|
-
references:
|
|
7
|
-
table: event_webhook
|
|
8
|
-
column: id
|
|
9
|
-
onDelete: set null
|
|
10
|
-
onUpdate: cascade
|
|
11
|
-
- type: fk
|
|
12
|
-
name: integration_event_catalog_id
|
|
13
|
-
isNullable: true
|
|
14
|
-
references:
|
|
15
|
-
table: integration_event_catalog
|
|
16
|
-
column: id
|
|
17
|
-
onDelete: set null
|
|
18
|
-
onUpdate: cascade
|
|
19
|
-
- name: outbox_event_id
|
|
20
|
-
type: int
|
|
21
|
-
isNullable: true
|
|
22
|
-
- name: event_name
|
|
23
|
-
type: varchar
|
|
24
|
-
length: 255
|
|
25
|
-
- name: method
|
|
26
|
-
type: varchar
|
|
27
|
-
length: 15
|
|
28
|
-
- name: url
|
|
29
|
-
type: text
|
|
30
|
-
- name: status
|
|
31
|
-
type: enum
|
|
32
|
-
enum:
|
|
33
|
-
- success
|
|
34
|
-
- failed
|
|
35
|
-
- name: http_status
|
|
36
|
-
type: int
|
|
37
|
-
isNullable: true
|
|
38
|
-
- name: duration_ms
|
|
39
|
-
type: int
|
|
40
|
-
default: 0
|
|
41
|
-
- name: attempt_count
|
|
42
|
-
type: int
|
|
43
|
-
default: 1
|
|
44
|
-
- name: error_message
|
|
45
|
-
type: text
|
|
46
|
-
isNullable: true
|
|
47
|
-
- name: request_summary
|
|
48
|
-
type: json
|
|
49
|
-
isNullable: true
|
|
50
|
-
- name: response_summary
|
|
51
|
-
type: json
|
|
52
|
-
isNullable: true
|
|
53
|
-
- type: created_at
|
|
54
|
-
- type: updated_at
|
|
55
|
-
indices:
|
|
56
|
-
- columns:
|
|
57
|
-
- event_webhook_id
|
|
58
|
-
- columns:
|
|
59
|
-
- integration_event_catalog_id
|
|
60
|
-
- columns:
|
|
61
|
-
- event_name
|
|
62
|
-
- columns:
|
|
63
|
-
- status
|
|
64
|
-
- columns:
|
|
65
|
-
- created_at
|
|
66
|
-
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- type: fk
|
|
4
|
+
name: event_webhook_id
|
|
5
|
+
isNullable: true
|
|
6
|
+
references:
|
|
7
|
+
table: event_webhook
|
|
8
|
+
column: id
|
|
9
|
+
onDelete: set null
|
|
10
|
+
onUpdate: cascade
|
|
11
|
+
- type: fk
|
|
12
|
+
name: integration_event_catalog_id
|
|
13
|
+
isNullable: true
|
|
14
|
+
references:
|
|
15
|
+
table: integration_event_catalog
|
|
16
|
+
column: id
|
|
17
|
+
onDelete: set null
|
|
18
|
+
onUpdate: cascade
|
|
19
|
+
- name: outbox_event_id
|
|
20
|
+
type: int
|
|
21
|
+
isNullable: true
|
|
22
|
+
- name: event_name
|
|
23
|
+
type: varchar
|
|
24
|
+
length: 255
|
|
25
|
+
- name: method
|
|
26
|
+
type: varchar
|
|
27
|
+
length: 15
|
|
28
|
+
- name: url
|
|
29
|
+
type: text
|
|
30
|
+
- name: status
|
|
31
|
+
type: enum
|
|
32
|
+
enum:
|
|
33
|
+
- success
|
|
34
|
+
- failed
|
|
35
|
+
- name: http_status
|
|
36
|
+
type: int
|
|
37
|
+
isNullable: true
|
|
38
|
+
- name: duration_ms
|
|
39
|
+
type: int
|
|
40
|
+
default: 0
|
|
41
|
+
- name: attempt_count
|
|
42
|
+
type: int
|
|
43
|
+
default: 1
|
|
44
|
+
- name: error_message
|
|
45
|
+
type: text
|
|
46
|
+
isNullable: true
|
|
47
|
+
- name: request_summary
|
|
48
|
+
type: json
|
|
49
|
+
isNullable: true
|
|
50
|
+
- name: response_summary
|
|
51
|
+
type: json
|
|
52
|
+
isNullable: true
|
|
53
|
+
- type: created_at
|
|
54
|
+
- type: updated_at
|
|
55
|
+
indices:
|
|
56
|
+
- columns:
|
|
57
|
+
- event_webhook_id
|
|
58
|
+
- columns:
|
|
59
|
+
- integration_event_catalog_id
|
|
60
|
+
- columns:
|
|
61
|
+
- event_name
|
|
62
|
+
- columns:
|
|
63
|
+
- status
|
|
64
|
+
- columns:
|
|
65
|
+
- created_at
|
|
66
|
+
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- type: fk
|
|
4
|
-
name: event_webhook_id
|
|
5
|
-
references:
|
|
6
|
-
table: event_webhook
|
|
7
|
-
column: id
|
|
8
|
-
onDelete: cascade
|
|
9
|
-
onUpdate: cascade
|
|
10
|
-
- type: fk
|
|
11
|
-
name: integration_event_catalog_id
|
|
12
|
-
references:
|
|
13
|
-
table: integration_event_catalog
|
|
14
|
-
column: id
|
|
15
|
-
onDelete: cascade
|
|
16
|
-
onUpdate: cascade
|
|
17
|
-
- type: created_at
|
|
18
|
-
- type: updated_at
|
|
19
|
-
indices:
|
|
20
|
-
- columns:
|
|
21
|
-
- event_webhook_id
|
|
22
|
-
- integration_event_catalog_id
|
|
23
|
-
isUnique: true
|
|
24
|
-
- columns:
|
|
25
|
-
- integration_event_catalog_id
|
|
26
|
-
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- type: fk
|
|
4
|
+
name: event_webhook_id
|
|
5
|
+
references:
|
|
6
|
+
table: event_webhook
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: cascade
|
|
9
|
+
onUpdate: cascade
|
|
10
|
+
- type: fk
|
|
11
|
+
name: integration_event_catalog_id
|
|
12
|
+
references:
|
|
13
|
+
table: integration_event_catalog
|
|
14
|
+
column: id
|
|
15
|
+
onDelete: cascade
|
|
16
|
+
onUpdate: cascade
|
|
17
|
+
- type: created_at
|
|
18
|
+
- type: updated_at
|
|
19
|
+
indices:
|
|
20
|
+
- columns:
|
|
21
|
+
- event_webhook_id
|
|
22
|
+
- integration_event_catalog_id
|
|
23
|
+
isUnique: true
|
|
24
|
+
- columns:
|
|
25
|
+
- integration_event_catalog_id
|
|
26
|
+
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- type: slug
|
|
4
|
-
- name: name
|
|
5
|
-
type: varchar
|
|
6
|
-
length: 127
|
|
7
|
-
- name: module
|
|
8
|
-
type: varchar
|
|
9
|
-
length: 127
|
|
10
|
-
- name: aggregate_type
|
|
11
|
-
type: varchar
|
|
12
|
-
length: 127
|
|
13
|
-
isNullable: true
|
|
14
|
-
- name: description
|
|
15
|
-
type: text
|
|
16
|
-
isNullable: true
|
|
17
|
-
- name: payload_schema
|
|
18
|
-
type: json
|
|
19
|
-
isNullable: true
|
|
20
|
-
- name: metadata_schema
|
|
21
|
-
type: json
|
|
22
|
-
isNullable: true
|
|
23
|
-
- name: status
|
|
24
|
-
type: enum
|
|
25
|
-
enum:
|
|
26
|
-
- active
|
|
27
|
-
- inactive
|
|
28
|
-
default: active
|
|
29
|
-
- type: created_at
|
|
30
|
-
- type: updated_at
|
|
31
|
-
indices:
|
|
32
|
-
- columns:
|
|
33
|
-
- slug
|
|
34
|
-
isUnique: true
|
|
35
|
-
- columns:
|
|
36
|
-
- module
|
|
37
|
-
- columns:
|
|
38
|
-
- aggregate_type
|
|
39
|
-
- columns:
|
|
40
|
-
- status
|
|
41
|
-
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- type: slug
|
|
4
|
+
- name: name
|
|
5
|
+
type: varchar
|
|
6
|
+
length: 127
|
|
7
|
+
- name: module
|
|
8
|
+
type: varchar
|
|
9
|
+
length: 127
|
|
10
|
+
- name: aggregate_type
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 127
|
|
13
|
+
isNullable: true
|
|
14
|
+
- name: description
|
|
15
|
+
type: text
|
|
16
|
+
isNullable: true
|
|
17
|
+
- name: payload_schema
|
|
18
|
+
type: json
|
|
19
|
+
isNullable: true
|
|
20
|
+
- name: metadata_schema
|
|
21
|
+
type: json
|
|
22
|
+
isNullable: true
|
|
23
|
+
- name: status
|
|
24
|
+
type: enum
|
|
25
|
+
enum:
|
|
26
|
+
- active
|
|
27
|
+
- inactive
|
|
28
|
+
default: active
|
|
29
|
+
- type: created_at
|
|
30
|
+
- type: updated_at
|
|
31
|
+
indices:
|
|
32
|
+
- columns:
|
|
33
|
+
- slug
|
|
34
|
+
isUnique: true
|
|
35
|
+
- columns:
|
|
36
|
+
- module
|
|
37
|
+
- columns:
|
|
38
|
+
- aggregate_type
|
|
39
|
+
- columns:
|
|
40
|
+
- status
|
|
41
|
+
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- name: user_id
|
|
4
|
-
type: fk
|
|
5
|
-
references:
|
|
6
|
-
table: user
|
|
7
|
-
column: id
|
|
8
|
-
onDelete: CASCADE
|
|
9
|
-
- name: title
|
|
10
|
-
isNullable: true
|
|
11
|
-
- type: created_at
|
|
12
|
-
- type: updated_at
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: user_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: user
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: title
|
|
10
|
+
isNullable: true
|
|
11
|
+
- type: created_at
|
|
12
|
+
- type: updated_at
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- name: conversation_id
|
|
4
|
-
type: fk
|
|
5
|
-
references:
|
|
6
|
-
table: mcp_conversation
|
|
7
|
-
column: id
|
|
8
|
-
onDelete: CASCADE
|
|
9
|
-
- name: role
|
|
10
|
-
type: enum
|
|
11
|
-
enum:
|
|
12
|
-
- user
|
|
13
|
-
- assistant
|
|
14
|
-
- tool_call
|
|
15
|
-
- tool_result
|
|
16
|
-
- name: content
|
|
17
|
-
type: text
|
|
18
|
-
- name: tool_name
|
|
19
|
-
isNullable: true
|
|
20
|
-
- name: tool_call_id
|
|
21
|
-
isNullable: true
|
|
22
|
-
- type: created_at
|
|
23
|
-
- type: updated_at
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: conversation_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: mcp_conversation
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: role
|
|
10
|
+
type: enum
|
|
11
|
+
enum:
|
|
12
|
+
- user
|
|
13
|
+
- assistant
|
|
14
|
+
- tool_call
|
|
15
|
+
- tool_result
|
|
16
|
+
- name: content
|
|
17
|
+
type: text
|
|
18
|
+
- name: tool_name
|
|
19
|
+
isNullable: true
|
|
20
|
+
- name: tool_call_id
|
|
21
|
+
isNullable: true
|
|
22
|
+
- type: created_at
|
|
23
|
+
- type: updated_at
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- name: user_id
|
|
4
|
-
type: fk
|
|
5
|
-
references:
|
|
6
|
-
table: user
|
|
7
|
-
column: id
|
|
8
|
-
onDelete: SET NULL
|
|
9
|
-
isNullable: true
|
|
10
|
-
- name: tool_name
|
|
11
|
-
- name: input
|
|
12
|
-
type: text
|
|
13
|
-
isNullable: true
|
|
14
|
-
- name: success
|
|
15
|
-
type: boolean
|
|
16
|
-
default: false
|
|
17
|
-
- name: error
|
|
18
|
-
isNullable: true
|
|
19
|
-
- name: duration_ms
|
|
20
|
-
type: int
|
|
21
|
-
- type: created_at
|
|
22
|
-
- type: updated_at
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: user_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: user
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: SET NULL
|
|
9
|
+
isNullable: true
|
|
10
|
+
- name: tool_name
|
|
11
|
+
- name: input
|
|
12
|
+
type: text
|
|
13
|
+
isNullable: true
|
|
14
|
+
- name: success
|
|
15
|
+
type: boolean
|
|
16
|
+
default: false
|
|
17
|
+
- name: error
|
|
18
|
+
isNullable: true
|
|
19
|
+
- name: duration_ms
|
|
20
|
+
type: int
|
|
21
|
+
- type: created_at
|
|
22
|
+
- type: updated_at
|
package/hedhog/table/route.yaml
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- name: type
|
|
4
|
-
type: enum
|
|
5
|
-
enum:
|
|
6
|
-
- HTTP
|
|
7
|
-
- MCP
|
|
8
|
-
default: HTTP
|
|
9
|
-
- name: name
|
|
10
|
-
isNullable: true
|
|
11
|
-
- name: url
|
|
12
|
-
isNullable: true
|
|
13
|
-
- name: method
|
|
14
|
-
type: enum
|
|
15
|
-
enum:
|
|
16
|
-
- GET
|
|
17
|
-
- POST
|
|
18
|
-
- PATCH
|
|
19
|
-
- DELETE
|
|
20
|
-
- PUT
|
|
21
|
-
- OPTIONS
|
|
22
|
-
- HEAD
|
|
23
|
-
isNullable: true
|
|
24
|
-
- name: tool_name
|
|
25
|
-
isNullable: true
|
|
26
|
-
- name: description
|
|
27
|
-
isNullable: true
|
|
28
|
-
- type: created_at
|
|
29
|
-
- type: updated_at
|
|
30
|
-
indices:
|
|
31
|
-
- columns:
|
|
32
|
-
- tool_name
|
|
33
|
-
isUnique: true
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: type
|
|
4
|
+
type: enum
|
|
5
|
+
enum:
|
|
6
|
+
- HTTP
|
|
7
|
+
- MCP
|
|
8
|
+
default: HTTP
|
|
9
|
+
- name: name
|
|
10
|
+
isNullable: true
|
|
11
|
+
- name: url
|
|
12
|
+
isNullable: true
|
|
13
|
+
- name: method
|
|
14
|
+
type: enum
|
|
15
|
+
enum:
|
|
16
|
+
- GET
|
|
17
|
+
- POST
|
|
18
|
+
- PATCH
|
|
19
|
+
- DELETE
|
|
20
|
+
- PUT
|
|
21
|
+
- OPTIONS
|
|
22
|
+
- HEAD
|
|
23
|
+
isNullable: true
|
|
24
|
+
- name: tool_name
|
|
25
|
+
isNullable: true
|
|
26
|
+
- name: description
|
|
27
|
+
isNullable: true
|
|
28
|
+
- type: created_at
|
|
29
|
+
- type: updated_at
|
|
30
|
+
indices:
|
|
31
|
+
- columns:
|
|
32
|
+
- tool_name
|
|
33
|
+
isUnique: true
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- type: slug
|
|
4
|
-
- name: name
|
|
5
|
-
type: varchar
|
|
6
|
-
length: 127
|
|
7
|
-
- name: description
|
|
8
|
-
type: text
|
|
9
|
-
isNullable: true
|
|
10
|
-
- name: public_uuid
|
|
11
|
-
type: varchar
|
|
12
|
-
length: 36
|
|
13
|
-
- name: status
|
|
14
|
-
type: enum
|
|
15
|
-
enum:
|
|
16
|
-
- active
|
|
17
|
-
- inactive
|
|
18
|
-
default: active
|
|
19
|
-
- name: require_token
|
|
20
|
-
type: boolean
|
|
21
|
-
default: false
|
|
22
|
-
- name: token_hash
|
|
23
|
-
type: varchar
|
|
24
|
-
length: 128
|
|
25
|
-
isNullable: true
|
|
26
|
-
- name: allowed_ips
|
|
27
|
-
type: json
|
|
28
|
-
isNullable: true
|
|
29
|
-
- name: body_schema
|
|
30
|
-
type: json
|
|
31
|
-
isNullable: true
|
|
32
|
-
- type: created_at
|
|
33
|
-
- type: updated_at
|
|
34
|
-
indices:
|
|
35
|
-
- columns:
|
|
36
|
-
- slug
|
|
37
|
-
isUnique: true
|
|
38
|
-
- columns:
|
|
39
|
-
- public_uuid
|
|
40
|
-
isUnique: true
|
|
41
|
-
- columns:
|
|
42
|
-
- status
|
|
43
|
-
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- type: slug
|
|
4
|
+
- name: name
|
|
5
|
+
type: varchar
|
|
6
|
+
length: 127
|
|
7
|
+
- name: description
|
|
8
|
+
type: text
|
|
9
|
+
isNullable: true
|
|
10
|
+
- name: public_uuid
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 36
|
|
13
|
+
- name: status
|
|
14
|
+
type: enum
|
|
15
|
+
enum:
|
|
16
|
+
- active
|
|
17
|
+
- inactive
|
|
18
|
+
default: active
|
|
19
|
+
- name: require_token
|
|
20
|
+
type: boolean
|
|
21
|
+
default: false
|
|
22
|
+
- name: token_hash
|
|
23
|
+
type: varchar
|
|
24
|
+
length: 128
|
|
25
|
+
isNullable: true
|
|
26
|
+
- name: allowed_ips
|
|
27
|
+
type: json
|
|
28
|
+
isNullable: true
|
|
29
|
+
- name: body_schema
|
|
30
|
+
type: json
|
|
31
|
+
isNullable: true
|
|
32
|
+
- type: created_at
|
|
33
|
+
- type: updated_at
|
|
34
|
+
indices:
|
|
35
|
+
- columns:
|
|
36
|
+
- slug
|
|
37
|
+
isUnique: true
|
|
38
|
+
- columns:
|
|
39
|
+
- public_uuid
|
|
40
|
+
isUnique: true
|
|
41
|
+
- columns:
|
|
42
|
+
- status
|
|
43
|
+
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hed-hog/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.371",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"main": "dist/index.js",
|
|
5
6
|
"types": "dist/index.d.ts",
|
|
6
7
|
"dependencies": {
|
|
7
8
|
"@aws-sdk/client-lambda": "3.1014.0",
|
|
8
9
|
"@aws-sdk/client-s3": "^3.1014.0",
|
|
9
10
|
"@aws-sdk/client-sts": "3.1014.0",
|
|
11
|
+
"@aws-sdk/lib-storage": "3.1014.0",
|
|
10
12
|
"@aws-sdk/s3-request-presigner": "^3.1014.0",
|
|
11
13
|
"@azure/storage-blob": "^12.27.0",
|
|
12
14
|
"@google-cloud/storage": "^7.16.0",
|
|
@@ -19,6 +21,7 @@
|
|
|
19
21
|
"@nestjs/jwt": "^11",
|
|
20
22
|
"@nestjs/mapped-types": "*",
|
|
21
23
|
"@nestjs/schedule": "^6.0.1",
|
|
24
|
+
"@nestjs/throttler": "^6.4.0",
|
|
22
25
|
"@simplewebauthn/server": "^13.2.2",
|
|
23
26
|
"argon2": "^0.44.0",
|
|
24
27
|
"axios": "^1.9.0",
|
|
@@ -41,9 +44,9 @@
|
|
|
41
44
|
"@hed-hog/api": "0.0.8",
|
|
42
45
|
"@hed-hog/api-locale": "0.0.14",
|
|
43
46
|
"@hed-hog/api-pagination": "0.0.7",
|
|
44
|
-
"@hed-hog/api-mail": "0.0.9",
|
|
45
47
|
"@hed-hog/api-types": "0.0.1",
|
|
46
|
-
"@hed-hog/api-prisma": "0.0.6"
|
|
48
|
+
"@hed-hog/api-prisma": "0.0.6",
|
|
49
|
+
"@hed-hog/api-mail": "0.0.9"
|
|
47
50
|
},
|
|
48
51
|
"exports": {
|
|
49
52
|
".": {
|
|
@@ -85,10 +88,12 @@
|
|
|
85
88
|
"scripts": {
|
|
86
89
|
"_dev": "pnpm build --watch",
|
|
87
90
|
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
|
|
91
|
+
"test": "jest --config jest.config.ts --runInBand --passWithNoTests",
|
|
88
92
|
"clean": "rimraf dist tsconfig.production.tsbuildinfo",
|
|
89
93
|
"prebuild": "pnpm run clean && pnpm --dir ../.. exec ts-node ./scripts/build-dependencies.ts libraries/core",
|
|
90
|
-
"build": "tsc --project tsconfig.production.json && pnpm run copy:templates",
|
|
94
|
+
"build": "tsc --project tsconfig.production.json && pnpm run copy:templates && pnpm run copy:language",
|
|
91
95
|
"copy:templates": "node -e \"require('fs').cpSync('src/file/templates', 'dist/file/templates', {recursive: true})\"",
|
|
96
|
+
"copy:language": "node -e \"const fs=require('fs');if(fs.existsSync('src/language'))fs.cpSync('src/language','dist/language',{recursive:true})\"",
|
|
92
97
|
"patch": "pnpm exec ts-node ../../scripts/patch.ts libraries/core",
|
|
93
98
|
"prod": "pnpm run patch && pnpm run build && pnpm publish --access public --no-git-checks"
|
|
94
99
|
}
|
package/src/ai/ai.service.ts
CHANGED
|
@@ -62,7 +62,10 @@ export class AiService implements OnModuleInit {
|
|
|
62
62
|
'ai-openai-profile-id',
|
|
63
63
|
'ai-gemini-profile-id',
|
|
64
64
|
]);
|
|
65
|
-
if (
|
|
65
|
+
if (
|
|
66
|
+
!String(s['ai-openai-profile-id'] ?? '').trim() &&
|
|
67
|
+
!String(s['ai-gemini-profile-id'] ?? '').trim()
|
|
68
|
+
) {
|
|
66
69
|
this.logger.warn('No AI profiles configured. Set profiles in Settings → AI.');
|
|
67
70
|
}
|
|
68
71
|
} catch { /* settings not available yet */ }
|
|
@@ -442,21 +445,21 @@ export class AiService implements OnModuleInit {
|
|
|
442
445
|
private async getAiApiKey(provider: AiProvider): Promise<string> {
|
|
443
446
|
const slug = provider === 'openai' ? 'ai-openai-profile-id' : 'ai-gemini-profile-id';
|
|
444
447
|
const settings = await this.settingService.getSettingValues([slug]);
|
|
445
|
-
const
|
|
448
|
+
const profileSlug = String(settings[slug] ?? '').trim();
|
|
446
449
|
|
|
447
|
-
if (!
|
|
450
|
+
if (!profileSlug) {
|
|
448
451
|
throw new BadRequestException(
|
|
449
452
|
`No ${provider} AI profile configured. Set one in Settings → AI.`,
|
|
450
453
|
);
|
|
451
454
|
}
|
|
452
455
|
|
|
453
456
|
const profile = await this.prismaService.integration_profile.findUnique({
|
|
454
|
-
where: {
|
|
457
|
+
where: { slug: profileSlug },
|
|
455
458
|
include: { integration_provider: { select: { slug: true } } },
|
|
456
459
|
});
|
|
457
460
|
|
|
458
461
|
if (!profile) {
|
|
459
|
-
throw new BadRequestException(`AI profile ${
|
|
462
|
+
throw new BadRequestException(`AI profile "${profileSlug}" not found.`);
|
|
460
463
|
}
|
|
461
464
|
|
|
462
465
|
const { apiKey } = buildAiConfigFromIntegration(
|
|
@@ -465,7 +468,7 @@ export class AiService implements OnModuleInit {
|
|
|
465
468
|
);
|
|
466
469
|
|
|
467
470
|
if (!apiKey) {
|
|
468
|
-
throw new BadRequestException(`AI profile ${
|
|
471
|
+
throw new BadRequestException(`AI profile "${profileSlug}" has no API key configured.`);
|
|
469
472
|
}
|
|
470
473
|
|
|
471
474
|
return apiKey;
|