@shepai/cli 1.180.0-pr548.764147 → 1.181.0-pr512.ba01d33
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/apis/json-schema/MessagingCommand.yaml +28 -0
- package/apis/json-schema/MessagingCommandType.yaml +17 -0
- package/apis/json-schema/MessagingConfig.yaml +40 -0
- package/apis/json-schema/MessagingFrameType.yaml +8 -0
- package/apis/json-schema/MessagingNotification.yaml +22 -0
- package/apis/json-schema/MessagingPlatform.yaml +7 -0
- package/apis/json-schema/MessagingPlatformConfig.yaml +38 -0
- package/apis/json-schema/Settings.yaml +3 -0
- package/dist/packages/core/src/application/ports/output/services/gateway-client.interface.d.ts +58 -0
- package/dist/packages/core/src/application/ports/output/services/gateway-client.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/gateway-client.interface.js +10 -0
- package/dist/packages/core/src/application/ports/output/services/message-sender.interface.d.ts +18 -0
- package/dist/packages/core/src/application/ports/output/services/message-sender.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/message-sender.interface.js +9 -0
- package/dist/packages/core/src/application/ports/output/services/messaging-service.interface.d.ts +34 -0
- package/dist/packages/core/src/application/ports/output/services/messaging-service.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/messaging-service.interface.js +12 -0
- package/dist/packages/core/src/application/ports/output/services/telegram-client.interface.d.ts +19 -0
- package/dist/packages/core/src/application/ports/output/services/telegram-client.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/telegram-client.interface.js +8 -0
- package/dist/packages/core/src/application/use-cases/messaging/begin-pairing.use-case.d.ts +46 -0
- package/dist/packages/core/src/application/use-cases/messaging/begin-pairing.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/messaging/begin-pairing.use-case.js +148 -0
- package/dist/packages/core/src/application/use-cases/messaging/confirm-pairing.use-case.d.ts +19 -0
- package/dist/packages/core/src/application/use-cases/messaging/confirm-pairing.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/messaging/confirm-pairing.use-case.js +63 -0
- package/dist/packages/core/src/application/use-cases/messaging/disconnect-messaging.use-case.d.ts +19 -0
- package/dist/packages/core/src/application/use-cases/messaging/disconnect-messaging.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/messaging/disconnect-messaging.use-case.js +65 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +155 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +26 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +117 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +24 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +117 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-messaging-remote-control.d.ts +22 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-messaging-remote-control.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-messaging-remote-control.js +62 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +43 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -4
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +6 -11
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts +2 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.js +2 -2
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +2 -3
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +5 -16
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +7 -38
- package/dist/packages/core/src/infrastructure/services/messaging/chat-relay.d.ts +45 -0
- package/dist/packages/core/src/infrastructure/services/messaging/chat-relay.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/chat-relay.js +100 -0
- package/dist/packages/core/src/infrastructure/services/messaging/command-executor.d.ts +53 -0
- package/dist/packages/core/src/infrastructure/services/messaging/command-executor.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/command-executor.js +200 -0
- package/dist/packages/core/src/infrastructure/services/messaging/content-sanitizer.d.ts +23 -0
- package/dist/packages/core/src/infrastructure/services/messaging/content-sanitizer.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/content-sanitizer.js +39 -0
- package/dist/packages/core/src/infrastructure/services/messaging/http-gateway.client.d.ts +19 -0
- package/dist/packages/core/src/infrastructure/services/messaging/http-gateway.client.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/http-gateway.client.js +124 -0
- package/dist/packages/core/src/infrastructure/services/messaging/http-telegram.client.d.ts +18 -0
- package/dist/packages/core/src/infrastructure/services/messaging/http-telegram.client.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/http-telegram.client.js +60 -0
- package/dist/packages/core/src/infrastructure/services/messaging/messaging-tunnel.adapter.d.ts +68 -0
- package/dist/packages/core/src/infrastructure/services/messaging/messaging-tunnel.adapter.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/messaging-tunnel.adapter.js +262 -0
- package/dist/packages/core/src/infrastructure/services/messaging/messaging.service.d.ts +78 -0
- package/dist/packages/core/src/infrastructure/services/messaging/messaging.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/messaging.service.js +279 -0
- package/dist/packages/core/src/infrastructure/services/messaging/notification-emitter.d.ts +33 -0
- package/dist/packages/core/src/infrastructure/services/messaging/notification-emitter.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/notification-emitter.js +79 -0
- package/dist/packages/core/src/infrastructure/services/messaging/stub-gateway.client.d.ts +12 -0
- package/dist/packages/core/src/infrastructure/services/messaging/stub-gateway.client.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/stub-gateway.client.js +26 -0
- package/dist/packages/core/src/infrastructure/services/messaging/telegram-message-sender.d.ts +26 -0
- package/dist/packages/core/src/infrastructure/services/messaging/telegram-message-sender.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/telegram-message-sender.js +49 -0
- package/dist/packages/core/src/infrastructure/services/messaging/telegram-webhook.parser.d.ts +28 -0
- package/dist/packages/core/src/infrastructure/services/messaging/telegram-webhook.parser.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/telegram-webhook.parser.js +45 -0
- package/dist/packages/core/src/infrastructure/services/messaging/tunnel-protocol.d.ts +102 -0
- package/dist/packages/core/src/infrastructure/services/messaging/tunnel-protocol.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/tunnel-protocol.js +16 -0
- package/dist/packages/core/src/infrastructure/services/messaging/whatsapp-webhook.parser.d.ts +39 -0
- package/dist/packages/core/src/infrastructure/services/messaging/whatsapp-webhook.parser.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/messaging/whatsapp-webhook.parser.js +56 -0
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +6 -0
- package/dist/src/presentation/cli/commands/app/del.command.d.ts +14 -0
- package/dist/src/presentation/cli/commands/app/del.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/app/del.command.js +58 -0
- package/dist/src/presentation/cli/commands/app/index.d.ts +20 -0
- package/dist/src/presentation/cli/commands/app/index.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/app/index.js +33 -0
- package/dist/src/presentation/cli/commands/app/ls.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/app/ls.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/app/ls.command.js +74 -0
- package/dist/src/presentation/cli/commands/app/new.command.d.ts +17 -0
- package/dist/src/presentation/cli/commands/app/new.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/app/new.command.js +58 -0
- package/dist/src/presentation/cli/commands/app/resolve-application.d.ts +10 -0
- package/dist/src/presentation/cli/commands/app/resolve-application.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/app/resolve-application.js +33 -0
- package/dist/src/presentation/cli/commands/app/show.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/app/show.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/app/show.command.js +95 -0
- package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/index.js +3 -1
- package/dist/src/presentation/cli/commands/settings/messaging.command.d.ts +17 -0
- package/dist/src/presentation/cli/commands/settings/messaging.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/settings/messaging.command.js +187 -0
- package/dist/src/presentation/cli/index.js +2 -0
- package/dist/src/presentation/web/app/actions/messaging.d.ts +29 -0
- package/dist/src/presentation/web/app/actions/messaging.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/messaging.js +55 -0
- package/dist/src/presentation/web/components/features/settings/messaging-settings-section.d.ts +6 -0
- package/dist/src/presentation/web/components/features/settings/messaging-settings-section.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/settings/messaging-settings-section.js +206 -0
- package/dist/src/presentation/web/components/features/settings/messaging-settings-section.stories.d.ts +17 -0
- package/dist/src/presentation/web/components/features/settings/messaging-settings-section.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/settings/messaging-settings-section.stories.js +55 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +9 -2
- package/dist/src/presentation/web/dev-server.js +27 -0
- package/dist/translations/ar/cli.json +63 -0
- package/dist/translations/ar/web.json +2 -1
- package/dist/translations/de/cli.json +63 -0
- package/dist/translations/de/web.json +2 -1
- package/dist/translations/en/cli.json +63 -0
- package/dist/translations/en/web.json +13 -12
- package/dist/translations/es/cli.json +63 -0
- package/dist/translations/es/web.json +2 -1
- package/dist/translations/fr/cli.json +63 -0
- package/dist/translations/fr/web.json +2 -1
- package/dist/translations/he/cli.json +63 -0
- package/dist/translations/he/web.json +2 -1
- package/dist/translations/pt/cli.json +63 -0
- package/dist/translations/pt/web.json +2 -1
- package/dist/translations/ru/cli.json +63 -0
- package/dist/translations/ru/web.json +2 -1
- package/dist/translations/uk/cli.json +63 -0
- package/dist/translations/uk/web.json +2 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +65 -20
- package/web/.next/server/app/settings/page.js +1 -1
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__b2a4bfcc._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__b2a4bfcc._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{7f428_lucide-react_dist_esm_icons_5da25833._.js → 7f428_lucide-react_dist_esm_icons_469d51b7._.js} +2 -2
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_469d51b7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42d066e1._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42d066e1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__bb391c45._.js → [root-of-the-server]__f4f07ee6._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f4f07ee6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0277d3b5._.js +1 -1
- package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_96718a00._.js → _1a4c514f._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_96718a00._.js.map → _1a4c514f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_948d3cc6._.js → _33bab16e._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_948d3cc6._.js.map → _33bab16e._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_ff6f3257._.js → _5d41b1f7._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_ff6f3257._.js.map → _5d41b1f7._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_708a9069._.js +3 -0
- package/web/.next/server/chunks/ssr/_708a9069._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_9df33116._.js → _81197d1b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_9df33116._.js.map → _81197d1b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_295fffde._.js → _86bb5eb1._.js} +6 -2
- package/web/.next/server/chunks/ssr/_86bb5eb1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
- package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_bad61758._.js +3 -0
- package/web/.next/server/chunks/ssr/_bad61758._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_ee88b448._.js → _ce70bfa0._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_ee88b448._.js.map → _ce70bfa0._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_d7d82308._.js +3 -0
- package/web/.next/server/chunks/ssr/_d7d82308._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_dd852eae._.js +3 -0
- package/web/.next/server/chunks/ssr/_dd852eae._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_eff1b518._.js +1 -1
- package/web/.next/server/chunks/ssr/_eff1b518._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f227429a._.js +1 -1
- package/web/.next/server/chunks/ssr/_f227429a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f6b812ec._.js +9 -0
- package/web/.next/server/chunks/ssr/_f6b812ec._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
- package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_64cc95e9._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_64cc95e9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +109 -64
- package/web/.next/static/chunks/0239d68df2738a2a.js +1 -0
- package/web/.next/static/chunks/{b17c2d874c373d4e.js → 05d641009a42e94b.js} +1 -1
- package/web/.next/static/chunks/{ee9a716c6424ff25.js → 0d04391861f2a381.js} +1 -1
- package/web/.next/static/chunks/{2a64d4b1a285fac5.js → 151d16c2c65a4356.js} +1 -1
- package/web/.next/static/chunks/19008d82be3a09a5.js +5 -0
- package/web/.next/static/chunks/{f7a55ba1f789c55f.js → 193d8b761fec697e.js} +1 -1
- package/web/.next/static/chunks/2bad6607c1e0f153.js +7 -0
- package/web/.next/static/chunks/{7c3fe3c694874dea.js → 32940aa08b947f66.js} +1 -1
- package/web/.next/static/chunks/{0a67d6e50e27452e.js → 368809962c4cd597.js} +1 -1
- package/web/.next/static/chunks/{8f783e12274578c2.js → 475e5bd4e8bafc6f.js} +1 -1
- package/web/.next/static/chunks/{c1559152cf2ab9c6.js → 55e59f912fff1858.js} +1 -1
- package/web/.next/static/chunks/{fcf27468f8026dbd.js → 66d72ca561bb91ca.js} +1 -1
- package/web/.next/static/chunks/6da04daaac881f27.js +1 -0
- package/web/.next/static/chunks/{2fe20598e1b4793a.js → 75eb5f94364a44bf.js} +2 -2
- package/web/.next/static/chunks/{e8444bf5f6c35f8b.js → 7bbe49d9daedd94d.js} +5 -1
- package/web/.next/static/chunks/{3ee4449e73eb4917.js → 83ea5b5b0d0a8477.js} +1 -1
- package/web/.next/static/chunks/8fe70d4e73e1fe31.css +1 -0
- package/web/.next/static/chunks/9d70c74c84d24724.js +1 -0
- package/web/.next/static/chunks/{010215070d22b4e6.js → a6d8276c88451abf.js} +2 -2
- package/web/.next/static/chunks/b3fa9a303332e7d6.js +3 -0
- package/web/.next/static/chunks/b9b3a6d83e07b213.js +1 -0
- package/web/.next/static/chunks/c92bc820f657f9d9.js +1 -0
- package/web/.next/static/chunks/dd5ab4e1762b5812.js +1 -0
- package/web/.next/static/chunks/{2ddda685a9100fd8.js → e7b870347bdfe35d.js} +1 -1
- package/web/.next/static/chunks/ecafea5bc026ed41.js +1 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_5da25833._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_295fffde._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_44531b76._.js +0 -9
- package/web/.next/server/chunks/ssr/_44531b76._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5bf2415e._.js +0 -7
- package/web/.next/server/chunks/ssr/_5bf2415e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_869a3a15._.js +0 -3
- package/web/.next/server/chunks/ssr/_869a3a15._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b227ff50._.js +0 -3
- package/web/.next/server/chunks/ssr/_b227ff50._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e071ba48._.js +0 -3
- package/web/.next/server/chunks/ssr/_e071ba48._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js.map +0 -1
- package/web/.next/static/chunks/06b9d6dbf635c370.css +0 -1
- package/web/.next/static/chunks/1ae0cf5be30ef398.js +0 -1
- package/web/.next/static/chunks/6ecbcce796343f44.js +0 -1
- package/web/.next/static/chunks/8492d8e0b5f9a4e8.js +0 -1
- package/web/.next/static/chunks/927442d2628f6e22.js +0 -1
- package/web/.next/static/chunks/9370d114ce5b69fb.js +0 -7
- package/web/.next/static/chunks/b2a010b2ba8710f4.js +0 -1
- package/web/.next/static/chunks/b99506a6f7bc2fa8.js +0 -1
- package/web/.next/static/chunks/d2182843a406b5a7.js +0 -5
- package/web/.next/static/chunks/edf812d5efffa096.js +0 -7
- /package/web/.next/static/{ex3OTWRXHxfwD9RkifALI → Rb8tiiSfY1LEpEkuZLtTr}/_buildManifest.js +0 -0
- /package/web/.next/static/{ex3OTWRXHxfwD9RkifALI → Rb8tiiSfY1LEpEkuZLtTr}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{ex3OTWRXHxfwD9RkifALI → Rb8tiiSfY1LEpEkuZLtTr}/_ssgManifest.js +0 -0
package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts
CHANGED
|
@@ -87,6 +87,30 @@ export interface SettingsRow {
|
|
|
87
87
|
fab_position_swapped: number;
|
|
88
88
|
skill_injection_enabled: number;
|
|
89
89
|
skill_injection_skills: string | null;
|
|
90
|
+
messaging_enabled: number;
|
|
91
|
+
messaging_gateway_url: string | null;
|
|
92
|
+
messaging_device_id: string | null;
|
|
93
|
+
messaging_gateway_client_id: string | null;
|
|
94
|
+
messaging_debounce_ms: number | null;
|
|
95
|
+
messaging_chat_buffer_ms: number | null;
|
|
96
|
+
messaging_telegram_enabled: number;
|
|
97
|
+
messaging_telegram_paired: number;
|
|
98
|
+
messaging_telegram_chat_id: string | null;
|
|
99
|
+
messaging_telegram_route_id: string | null;
|
|
100
|
+
messaging_telegram_route_token: string | null;
|
|
101
|
+
messaging_telegram_public_url: string | null;
|
|
102
|
+
messaging_telegram_bot_token: string | null;
|
|
103
|
+
messaging_telegram_pending_code: string | null;
|
|
104
|
+
messaging_telegram_pending_expires_at: string | null;
|
|
105
|
+
messaging_whatsapp_enabled: number;
|
|
106
|
+
messaging_whatsapp_paired: number;
|
|
107
|
+
messaging_whatsapp_chat_id: string | null;
|
|
108
|
+
messaging_whatsapp_route_id: string | null;
|
|
109
|
+
messaging_whatsapp_route_token: string | null;
|
|
110
|
+
messaging_whatsapp_public_url: string | null;
|
|
111
|
+
messaging_whatsapp_bot_token: string | null;
|
|
112
|
+
messaging_whatsapp_pending_code: string | null;
|
|
113
|
+
messaging_whatsapp_pending_expires_at: string | null;
|
|
90
114
|
}
|
|
91
115
|
/**
|
|
92
116
|
* Maps Settings domain object to database row.
|
package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.mapper.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"settings.mapper.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,QAAQ,EAKT,MAAM,wCAAwC,CAAC;AAUhD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAInB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IAGtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;IAGhC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IAGtB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,4BAA4B,EAAE,MAAM,CAAC;IAGrC,iCAAiC,EAAE,MAAM,CAAC;IAG1C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IAGzB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAG/C,mBAAmB,EAAE,MAAM,CAAC;IAG5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,mCAAmC,EAAE,MAAM,CAAC;IAG5C,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,4BAA4B,EAAE,MAAM,CAAC;IACrC,+BAA+B,EAAE,MAAM,CAAC;IACxC,sBAAsB,EAAE,MAAM,CAAC;IAE/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,yCAAyC,EAAE,MAAM,CAAC;IAGlD,0BAA0B,EAAE,MAAM,CAAC;IAGnC,oBAAoB,EAAE,MAAM,CAAC;IAG7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,8BAA8B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,qCAAqC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErD,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,8BAA8B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,qCAAqC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CA0H1D;AA8ID;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,CAoHvD"}
|
|
@@ -115,8 +115,58 @@ export function toDatabase(settings) {
|
|
|
115
115
|
skill_injection_skills: settings.workflow.skillInjection?.skills?.length
|
|
116
116
|
? JSON.stringify(settings.workflow.skillInjection.skills)
|
|
117
117
|
: null,
|
|
118
|
+
// Messaging remote control (migration 056)
|
|
119
|
+
...messagingToRow(settings.messaging),
|
|
118
120
|
};
|
|
119
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Serialize MessagingConfig into the snake_case DB row columns.
|
|
124
|
+
* An undefined config writes zeros/nulls so the row is valid.
|
|
125
|
+
*/
|
|
126
|
+
function messagingToRow(messaging) {
|
|
127
|
+
const tg = messaging?.telegram;
|
|
128
|
+
const wa = messaging?.whatsapp;
|
|
129
|
+
return {
|
|
130
|
+
messaging_enabled: messaging?.enabled ? 1 : 0,
|
|
131
|
+
messaging_gateway_url: messaging?.gatewayUrl ?? null,
|
|
132
|
+
messaging_device_id: messaging?.deviceId ?? null,
|
|
133
|
+
messaging_gateway_client_id: messaging?.gatewayClientId ?? null,
|
|
134
|
+
messaging_debounce_ms: messaging?.debounceMs ?? null,
|
|
135
|
+
messaging_chat_buffer_ms: messaging?.chatBufferMs ?? null,
|
|
136
|
+
messaging_telegram_enabled: tg?.enabled ? 1 : 0,
|
|
137
|
+
messaging_telegram_paired: tg?.paired ? 1 : 0,
|
|
138
|
+
messaging_telegram_chat_id: tg?.chatId ?? null,
|
|
139
|
+
messaging_telegram_route_id: tg?.routeId ?? null,
|
|
140
|
+
messaging_telegram_route_token: tg?.routeToken ?? null,
|
|
141
|
+
messaging_telegram_public_url: tg?.publicUrl ?? null,
|
|
142
|
+
messaging_telegram_bot_token: tg?.botToken ?? null,
|
|
143
|
+
messaging_telegram_pending_code: tg?.pendingPairingCode ?? null,
|
|
144
|
+
messaging_telegram_pending_expires_at: serializeIsoLike(tg?.pendingPairingExpiresAt),
|
|
145
|
+
messaging_whatsapp_enabled: wa?.enabled ? 1 : 0,
|
|
146
|
+
messaging_whatsapp_paired: wa?.paired ? 1 : 0,
|
|
147
|
+
messaging_whatsapp_chat_id: wa?.chatId ?? null,
|
|
148
|
+
messaging_whatsapp_route_id: wa?.routeId ?? null,
|
|
149
|
+
messaging_whatsapp_route_token: wa?.routeToken ?? null,
|
|
150
|
+
messaging_whatsapp_public_url: wa?.publicUrl ?? null,
|
|
151
|
+
messaging_whatsapp_bot_token: wa?.botToken ?? null,
|
|
152
|
+
messaging_whatsapp_pending_code: wa?.pendingPairingCode ?? null,
|
|
153
|
+
messaging_whatsapp_pending_expires_at: serializeIsoLike(wa?.pendingPairingExpiresAt),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* The generated TypeSpec type for `pendingPairingExpiresAt` is `any` because
|
|
158
|
+
* TypeSpec emitted a loose shape for this `utcDateTime` field. Callers pass
|
|
159
|
+
* either a Date or an ISO string; we normalize both to a string for storage.
|
|
160
|
+
*/
|
|
161
|
+
function serializeIsoLike(value) {
|
|
162
|
+
if (value == null)
|
|
163
|
+
return null;
|
|
164
|
+
if (value instanceof Date)
|
|
165
|
+
return value.toISOString();
|
|
166
|
+
if (typeof value === 'string')
|
|
167
|
+
return value;
|
|
168
|
+
return String(value);
|
|
169
|
+
}
|
|
120
170
|
/**
|
|
121
171
|
* Build the stageTimeouts spread from DB row columns.
|
|
122
172
|
* Returns `{ stageTimeouts: { ... } }` when at least one column is non-null,
|
|
@@ -275,7 +325,74 @@ export function fromDatabase(row) {
|
|
|
275
325
|
fabLayout: {
|
|
276
326
|
swapPosition: (row.fab_position_swapped ?? 0) !== 0,
|
|
277
327
|
},
|
|
328
|
+
// Messaging remote control (migration 056)
|
|
329
|
+
// Always present — even for rows written before the migration, defaults
|
|
330
|
+
// decode to { enabled: false, debounceMs: 5000, chatBufferMs: 3000 } so
|
|
331
|
+
// consumers always see a valid MessagingConfig shape.
|
|
332
|
+
messaging: messagingFromRow(row),
|
|
278
333
|
// Onboarding (INTEGER → boolean)
|
|
279
334
|
onboardingComplete: row.onboarding_complete === 1,
|
|
280
335
|
};
|
|
281
336
|
}
|
|
337
|
+
/**
|
|
338
|
+
* Deserialize MessagingConfig from the DB row. Returns a fully populated
|
|
339
|
+
* MessagingConfig with safe defaults for rows that predate migration 056 or
|
|
340
|
+
* were written by code that never set the messaging field (e.g. main branch).
|
|
341
|
+
*/
|
|
342
|
+
function messagingFromRow(row) {
|
|
343
|
+
const telegram = readPlatform(row.messaging_telegram_enabled, row.messaging_telegram_paired, row.messaging_telegram_chat_id, row.messaging_telegram_route_id, row.messaging_telegram_route_token, row.messaging_telegram_public_url, row.messaging_telegram_bot_token, row.messaging_telegram_pending_code, row.messaging_telegram_pending_expires_at);
|
|
344
|
+
const whatsapp = readPlatform(row.messaging_whatsapp_enabled, row.messaging_whatsapp_paired, row.messaging_whatsapp_chat_id, row.messaging_whatsapp_route_id, row.messaging_whatsapp_route_token, row.messaging_whatsapp_public_url, row.messaging_whatsapp_bot_token, row.messaging_whatsapp_pending_code, row.messaging_whatsapp_pending_expires_at);
|
|
345
|
+
const config = {
|
|
346
|
+
enabled: (row.messaging_enabled ?? 0) === 1,
|
|
347
|
+
debounceMs: row.messaging_debounce_ms ?? 5000,
|
|
348
|
+
chatBufferMs: row.messaging_chat_buffer_ms ?? 3000,
|
|
349
|
+
};
|
|
350
|
+
if (row.messaging_gateway_url !== null && row.messaging_gateway_url !== undefined) {
|
|
351
|
+
config.gatewayUrl = row.messaging_gateway_url;
|
|
352
|
+
}
|
|
353
|
+
if (row.messaging_device_id !== null && row.messaging_device_id !== undefined) {
|
|
354
|
+
config.deviceId = row.messaging_device_id;
|
|
355
|
+
}
|
|
356
|
+
if (row.messaging_gateway_client_id !== null && row.messaging_gateway_client_id !== undefined) {
|
|
357
|
+
config.gatewayClientId = row.messaging_gateway_client_id;
|
|
358
|
+
}
|
|
359
|
+
if (telegram)
|
|
360
|
+
config.telegram = telegram;
|
|
361
|
+
if (whatsapp)
|
|
362
|
+
config.whatsapp = whatsapp;
|
|
363
|
+
return config;
|
|
364
|
+
}
|
|
365
|
+
function readPlatform(enabled, paired, chatId, routeId, routeToken, publicUrl, botToken, pendingCode, pendingExpiresAt) {
|
|
366
|
+
// Omit the platform entirely when no data has been written. This matches
|
|
367
|
+
// the pre-persistence shape where callers used `config.telegram?.paired`.
|
|
368
|
+
const hasAny = (enabled ?? 0) === 1 ||
|
|
369
|
+
(paired ?? 0) === 1 ||
|
|
370
|
+
chatId !== null ||
|
|
371
|
+
routeId !== null ||
|
|
372
|
+
routeToken !== null ||
|
|
373
|
+
publicUrl !== null ||
|
|
374
|
+
botToken !== null ||
|
|
375
|
+
pendingCode !== null ||
|
|
376
|
+
pendingExpiresAt !== null;
|
|
377
|
+
if (!hasAny)
|
|
378
|
+
return undefined;
|
|
379
|
+
const platform = {
|
|
380
|
+
enabled: (enabled ?? 0) === 1,
|
|
381
|
+
paired: (paired ?? 0) === 1,
|
|
382
|
+
};
|
|
383
|
+
if (chatId !== null)
|
|
384
|
+
platform.chatId = chatId;
|
|
385
|
+
if (routeId !== null)
|
|
386
|
+
platform.routeId = routeId;
|
|
387
|
+
if (routeToken !== null)
|
|
388
|
+
platform.routeToken = routeToken;
|
|
389
|
+
if (publicUrl !== null)
|
|
390
|
+
platform.publicUrl = publicUrl;
|
|
391
|
+
if (botToken !== null)
|
|
392
|
+
platform.botToken = botToken;
|
|
393
|
+
if (pendingCode !== null)
|
|
394
|
+
platform.pendingPairingCode = pendingCode;
|
|
395
|
+
if (pendingExpiresAt !== null)
|
|
396
|
+
platform.pendingPairingExpiresAt = pendingExpiresAt;
|
|
397
|
+
return platform;
|
|
398
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration 056: Persist MessagingConfig on the settings table
|
|
3
|
+
*
|
|
4
|
+
* Feature 082 (messaging remote control) added `MessagingConfig` to the domain
|
|
5
|
+
* model but the persistence layer was never extended, so every pairing was
|
|
6
|
+
* silently dropped on write. This migration backfills the missing columns.
|
|
7
|
+
*
|
|
8
|
+
* Backward compatibility:
|
|
9
|
+
* - Every column is nullable (or has a safe default of 0) so existing rows
|
|
10
|
+
* from main keep working untouched.
|
|
11
|
+
* - Reading code treats nulls as "not configured", matching the pre-feature
|
|
12
|
+
* behaviour where `settings.messaging` was undefined.
|
|
13
|
+
* - The mapper round-trips values: a row written by an older build (all
|
|
14
|
+
* nulls) decodes to `{ enabled: false, debounceMs: 5000, chatBufferMs: 3000 }`,
|
|
15
|
+
* which is exactly the fallback the in-memory code already uses.
|
|
16
|
+
* - This migration is idempotent via PRAGMA table_info guard.
|
|
17
|
+
*/
|
|
18
|
+
import type { MigrationParams } from 'umzug';
|
|
19
|
+
import type Database from 'better-sqlite3';
|
|
20
|
+
export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
21
|
+
export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=056-add-messaging-remote-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"056-add-messaging-remote-control.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-messaging-remote-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAuC3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7F"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration 056: Persist MessagingConfig on the settings table
|
|
3
|
+
*
|
|
4
|
+
* Feature 082 (messaging remote control) added `MessagingConfig` to the domain
|
|
5
|
+
* model but the persistence layer was never extended, so every pairing was
|
|
6
|
+
* silently dropped on write. This migration backfills the missing columns.
|
|
7
|
+
*
|
|
8
|
+
* Backward compatibility:
|
|
9
|
+
* - Every column is nullable (or has a safe default of 0) so existing rows
|
|
10
|
+
* from main keep working untouched.
|
|
11
|
+
* - Reading code treats nulls as "not configured", matching the pre-feature
|
|
12
|
+
* behaviour where `settings.messaging` was undefined.
|
|
13
|
+
* - The mapper round-trips values: a row written by an older build (all
|
|
14
|
+
* nulls) decodes to `{ enabled: false, debounceMs: 5000, chatBufferMs: 3000 }`,
|
|
15
|
+
* which is exactly the fallback the in-memory code already uses.
|
|
16
|
+
* - This migration is idempotent via PRAGMA table_info guard.
|
|
17
|
+
*/
|
|
18
|
+
const COLUMNS = [
|
|
19
|
+
// Top-level MessagingConfig fields
|
|
20
|
+
{ name: 'messaging_enabled', ddl: 'INTEGER NOT NULL DEFAULT 0' },
|
|
21
|
+
{ name: 'messaging_gateway_url', ddl: 'TEXT' },
|
|
22
|
+
{ name: 'messaging_device_id', ddl: 'TEXT' },
|
|
23
|
+
{ name: 'messaging_gateway_client_id', ddl: 'TEXT' },
|
|
24
|
+
{ name: 'messaging_debounce_ms', ddl: 'INTEGER' },
|
|
25
|
+
{ name: 'messaging_chat_buffer_ms', ddl: 'INTEGER' },
|
|
26
|
+
// Per-platform: Telegram
|
|
27
|
+
{ name: 'messaging_telegram_enabled', ddl: 'INTEGER NOT NULL DEFAULT 0' },
|
|
28
|
+
{ name: 'messaging_telegram_paired', ddl: 'INTEGER NOT NULL DEFAULT 0' },
|
|
29
|
+
{ name: 'messaging_telegram_chat_id', ddl: 'TEXT' },
|
|
30
|
+
{ name: 'messaging_telegram_route_id', ddl: 'TEXT' },
|
|
31
|
+
{ name: 'messaging_telegram_route_token', ddl: 'TEXT' },
|
|
32
|
+
{ name: 'messaging_telegram_public_url', ddl: 'TEXT' },
|
|
33
|
+
{ name: 'messaging_telegram_bot_token', ddl: 'TEXT' },
|
|
34
|
+
{ name: 'messaging_telegram_pending_code', ddl: 'TEXT' },
|
|
35
|
+
{ name: 'messaging_telegram_pending_expires_at', ddl: 'TEXT' },
|
|
36
|
+
// Per-platform: WhatsApp
|
|
37
|
+
{ name: 'messaging_whatsapp_enabled', ddl: 'INTEGER NOT NULL DEFAULT 0' },
|
|
38
|
+
{ name: 'messaging_whatsapp_paired', ddl: 'INTEGER NOT NULL DEFAULT 0' },
|
|
39
|
+
{ name: 'messaging_whatsapp_chat_id', ddl: 'TEXT' },
|
|
40
|
+
{ name: 'messaging_whatsapp_route_id', ddl: 'TEXT' },
|
|
41
|
+
{ name: 'messaging_whatsapp_route_token', ddl: 'TEXT' },
|
|
42
|
+
{ name: 'messaging_whatsapp_public_url', ddl: 'TEXT' },
|
|
43
|
+
{ name: 'messaging_whatsapp_bot_token', ddl: 'TEXT' },
|
|
44
|
+
{ name: 'messaging_whatsapp_pending_code', ddl: 'TEXT' },
|
|
45
|
+
{ name: 'messaging_whatsapp_pending_expires_at', ddl: 'TEXT' },
|
|
46
|
+
];
|
|
47
|
+
export async function up({ context: db }) {
|
|
48
|
+
const existing = db.pragma('table_info(settings)');
|
|
49
|
+
const present = new Set(existing.map((c) => c.name));
|
|
50
|
+
for (const col of COLUMNS) {
|
|
51
|
+
if (!present.has(col.name)) {
|
|
52
|
+
db.exec(`ALTER TABLE settings ADD COLUMN ${col.name} ${col.ddl}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export async function down({ context: db }) {
|
|
57
|
+
// SQLite ALTER TABLE DROP COLUMN was only added in 3.35. We leave the
|
|
58
|
+
// columns in place on rollback — they are harmless nullable additions
|
|
59
|
+
// and removing them would require a full table rebuild. This matches
|
|
60
|
+
// the pattern used by earlier migrations in this repo.
|
|
61
|
+
void db;
|
|
62
|
+
}
|
package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-settings.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-settings.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AACxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAOjE;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAElD;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-settings.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-settings.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AACxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAOjE;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAElD;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmGnD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBtC;;;;;OAKG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAmHhD"}
|
|
@@ -73,7 +73,15 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
|
|
|
73
73
|
interactive_agent_max_concurrent_sessions,
|
|
74
74
|
auto_archive_delay_minutes,
|
|
75
75
|
stage_timeout_fast_implement_ms,
|
|
76
|
-
fab_position_swapped
|
|
76
|
+
fab_position_swapped,
|
|
77
|
+
messaging_enabled, messaging_gateway_url, messaging_device_id,
|
|
78
|
+
messaging_gateway_client_id, messaging_debounce_ms, messaging_chat_buffer_ms,
|
|
79
|
+
messaging_telegram_enabled, messaging_telegram_paired, messaging_telegram_chat_id,
|
|
80
|
+
messaging_telegram_route_id, messaging_telegram_route_token, messaging_telegram_public_url,
|
|
81
|
+
messaging_telegram_bot_token, messaging_telegram_pending_code, messaging_telegram_pending_expires_at,
|
|
82
|
+
messaging_whatsapp_enabled, messaging_whatsapp_paired, messaging_whatsapp_chat_id,
|
|
83
|
+
messaging_whatsapp_route_id, messaging_whatsapp_route_token, messaging_whatsapp_public_url,
|
|
84
|
+
messaging_whatsapp_bot_token, messaging_whatsapp_pending_code, messaging_whatsapp_pending_expires_at
|
|
77
85
|
) VALUES (
|
|
78
86
|
@id, @created_at, @updated_at,
|
|
79
87
|
@model_analyze, @model_requirements, @model_plan, @model_implement, @model_default,
|
|
@@ -105,7 +113,15 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
|
|
|
105
113
|
@interactive_agent_max_concurrent_sessions,
|
|
106
114
|
@auto_archive_delay_minutes,
|
|
107
115
|
@stage_timeout_fast_implement_ms,
|
|
108
|
-
@fab_position_swapped
|
|
116
|
+
@fab_position_swapped,
|
|
117
|
+
@messaging_enabled, @messaging_gateway_url, @messaging_device_id,
|
|
118
|
+
@messaging_gateway_client_id, @messaging_debounce_ms, @messaging_chat_buffer_ms,
|
|
119
|
+
@messaging_telegram_enabled, @messaging_telegram_paired, @messaging_telegram_chat_id,
|
|
120
|
+
@messaging_telegram_route_id, @messaging_telegram_route_token, @messaging_telegram_public_url,
|
|
121
|
+
@messaging_telegram_bot_token, @messaging_telegram_pending_code, @messaging_telegram_pending_expires_at,
|
|
122
|
+
@messaging_whatsapp_enabled, @messaging_whatsapp_paired, @messaging_whatsapp_chat_id,
|
|
123
|
+
@messaging_whatsapp_route_id, @messaging_whatsapp_route_token, @messaging_whatsapp_public_url,
|
|
124
|
+
@messaging_whatsapp_bot_token, @messaging_whatsapp_pending_code, @messaging_whatsapp_pending_expires_at
|
|
109
125
|
)
|
|
110
126
|
`);
|
|
111
127
|
// Execute with named parameters (safe from SQL injection)
|
|
@@ -211,7 +227,31 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
|
|
|
211
227
|
interactive_agent_max_concurrent_sessions = @interactive_agent_max_concurrent_sessions,
|
|
212
228
|
auto_archive_delay_minutes = @auto_archive_delay_minutes,
|
|
213
229
|
stage_timeout_fast_implement_ms = @stage_timeout_fast_implement_ms,
|
|
214
|
-
fab_position_swapped = @fab_position_swapped
|
|
230
|
+
fab_position_swapped = @fab_position_swapped,
|
|
231
|
+
messaging_enabled = @messaging_enabled,
|
|
232
|
+
messaging_gateway_url = @messaging_gateway_url,
|
|
233
|
+
messaging_device_id = @messaging_device_id,
|
|
234
|
+
messaging_gateway_client_id = @messaging_gateway_client_id,
|
|
235
|
+
messaging_debounce_ms = @messaging_debounce_ms,
|
|
236
|
+
messaging_chat_buffer_ms = @messaging_chat_buffer_ms,
|
|
237
|
+
messaging_telegram_enabled = @messaging_telegram_enabled,
|
|
238
|
+
messaging_telegram_paired = @messaging_telegram_paired,
|
|
239
|
+
messaging_telegram_chat_id = @messaging_telegram_chat_id,
|
|
240
|
+
messaging_telegram_route_id = @messaging_telegram_route_id,
|
|
241
|
+
messaging_telegram_route_token = @messaging_telegram_route_token,
|
|
242
|
+
messaging_telegram_public_url = @messaging_telegram_public_url,
|
|
243
|
+
messaging_telegram_bot_token = @messaging_telegram_bot_token,
|
|
244
|
+
messaging_telegram_pending_code = @messaging_telegram_pending_code,
|
|
245
|
+
messaging_telegram_pending_expires_at = @messaging_telegram_pending_expires_at,
|
|
246
|
+
messaging_whatsapp_enabled = @messaging_whatsapp_enabled,
|
|
247
|
+
messaging_whatsapp_paired = @messaging_whatsapp_paired,
|
|
248
|
+
messaging_whatsapp_chat_id = @messaging_whatsapp_chat_id,
|
|
249
|
+
messaging_whatsapp_route_id = @messaging_whatsapp_route_id,
|
|
250
|
+
messaging_whatsapp_route_token = @messaging_whatsapp_route_token,
|
|
251
|
+
messaging_whatsapp_public_url = @messaging_whatsapp_public_url,
|
|
252
|
+
messaging_whatsapp_bot_token = @messaging_whatsapp_bot_token,
|
|
253
|
+
messaging_whatsapp_pending_code = @messaging_whatsapp_pending_code,
|
|
254
|
+
messaging_whatsapp_pending_expires_at = @messaging_whatsapp_pending_expires_at
|
|
215
255
|
WHERE id = @id
|
|
216
256
|
`);
|
|
217
257
|
// Execute with named parameters (safe from SQL injection)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js
CHANGED
|
@@ -14,7 +14,6 @@ import { reportNodeStart } from '../heartbeat.js';
|
|
|
14
14
|
import { recordPhaseStart, recordPhaseEnd, recordApprovalWaitStart, } from '../phase-timing-context.js';
|
|
15
15
|
import { updateNodeLifecycle } from '../lifecycle-context.js';
|
|
16
16
|
import { getLogPrefix, setCurrentPhase } from '../log-context.js';
|
|
17
|
-
import { COMMIT_CO_AUTHOR } from './prompts/pr-branding.js';
|
|
18
17
|
/**
|
|
19
18
|
* Create a scoped logger that prefixes messages with the node name.
|
|
20
19
|
* Output goes to stdout which the worker redirects to the log file.
|
|
@@ -351,10 +350,8 @@ export function buildCommitPushBlock(opts) {
|
|
|
351
350
|
``,
|
|
352
351
|
`After completing all tasks above:`,
|
|
353
352
|
`1. Stage the changed files: ${fileList} (use \`git add\` with the specific paths)`,
|
|
354
|
-
`2. Commit with a conventional commit message${opts.skipVerification ? ' using `--no-verify` to skip hooks' : ''}
|
|
355
|
-
` - e.g. \`git commit${opts.skipVerification ? ' --no-verify' : ''} -m "${opts.commitHint}" -m "" -m "${COMMIT_CO_AUTHOR}"\``,
|
|
353
|
+
`2. Commit with a conventional commit message${opts.skipVerification ? ' using `--no-verify` to skip hooks' : ''} — e.g. \`git commit${opts.skipVerification ? ' --no-verify' : ''} -m "${opts.commitHint}"\``,
|
|
356
354
|
` - The message should accurately describe what changed`,
|
|
357
|
-
` - Do NOT include any other Co-Authored-By trailer (e.g. Claude) — only the Shep Bot trailer`,
|
|
358
355
|
];
|
|
359
356
|
if (opts.push && !opts.skipVerification) {
|
|
360
357
|
lines.push(`3. Run local verification before pushing:`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-prompts.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAyCxD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAU9F;AAuCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAAE,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,
|
|
1
|
+
{"version":3,"file":"merge-prompts.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAyCxD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAU9F;AAuCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAAE,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CA2ER;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACtB,MAAM,CAiDR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,MAAM,CA0BR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqDzD"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import yaml from 'js-yaml';
|
|
12
12
|
import { EvidenceType } from '../../../../../../domain/generated/output.js';
|
|
13
13
|
import { readSpecFile, buildResumeContext } from '../node-helpers.js';
|
|
14
|
-
import { PR_BRANDING
|
|
14
|
+
import { PR_BRANDING } from './pr-branding.js';
|
|
15
15
|
/**
|
|
16
16
|
* Extract merge-phase rejection feedback from spec.yaml.
|
|
17
17
|
*/
|
|
@@ -137,9 +137,7 @@ export function buildCommitPushPrPrompt(state, branch, baseBranch, repoUrl) {
|
|
|
137
137
|
3. Write a conventional commit message based on the actual diff content
|
|
138
138
|
- Use the format: \`feat(<scope>): <description>\` or \`fix(<scope>): <description>\`
|
|
139
139
|
- The commit message should summarize what actually changed, not be generic
|
|
140
|
-
-
|
|
141
|
-
- Run: \`git commit -m "<your message>" -m "" -m "${COMMIT_CO_AUTHOR}"\`
|
|
142
|
-
- Do NOT include any other Co-Authored-By trailer (e.g. Claude) — only the Shep Bot trailer above`);
|
|
140
|
+
- Run \`git commit -m "<your message>"\``);
|
|
143
141
|
// Step 2: Local verification before push (conditional)
|
|
144
142
|
if (shouldPush) {
|
|
145
143
|
steps.push(`4. Run local verification checks before pushing:
|
|
@@ -184,7 +182,6 @@ ${evidenceSection}
|
|
|
184
182
|
## Constraints
|
|
185
183
|
|
|
186
184
|
- Write a meaningful conventional commit message derived from the actual diff — do NOT use generic messages
|
|
187
|
-
- Every commit MUST include the co-author trailer: \`${COMMIT_CO_AUTHOR}\` — do NOT include any other Co-Authored-By trailer
|
|
188
185
|
${rejectionSection ? '- You MUST modify source code files to address the rejection feedback above BEFORE committing' : '- Do NOT modify any source code files — only perform git operations'}
|
|
189
186
|
${!state.commitSpecs ? '- Do NOT commit the `specs/` directory — it must stay untracked. If you accidentally staged it, run `git reset -- specs/` before committing' : ''}
|
|
190
187
|
- Do NOT amend existing commits
|
|
@@ -239,8 +236,8 @@ Follow these steps EXACTLY:
|
|
|
239
236
|
- For config files (.gitignore, tsconfig.json, etc.), merge both sides' additions
|
|
240
237
|
- Stage each resolved file: \`git add <file>\`
|
|
241
238
|
|
|
242
|
-
4. After ALL conflicts are resolved, commit
|
|
243
|
-
\`git commit -m "${commitMessage.replace(/"/g, '\\"')}"
|
|
239
|
+
4. After ALL conflicts are resolved, commit:
|
|
240
|
+
\`git commit -m "${commitMessage.replace(/"/g, '\\"')}"\`
|
|
244
241
|
|
|
245
242
|
5. Delete the feature branch:
|
|
246
243
|
\`git branch -d ${featureBranch}\` (non-fatal if it fails)
|
|
@@ -281,16 +278,14 @@ ${failureLogs}
|
|
|
281
278
|
1. Analyze the CI failure logs above to diagnose the root cause
|
|
282
279
|
2. Apply a targeted fix to resolve the failure — change only what is necessary
|
|
283
280
|
3. Stage all changes: \`git add -A\`
|
|
284
|
-
4. Commit with this exact conventional commit message format
|
|
285
|
-
\`
|
|
281
|
+
4. Commit with this exact conventional commit message format:
|
|
282
|
+
\`fix(ci): attempt ${attemptNumber}/${maxAttempts} — <short description of what you fixed>\`
|
|
286
283
|
5. Push the fix to the branch: \`git push origin ${branch}\`
|
|
287
284
|
|
|
288
285
|
## Constraints
|
|
289
286
|
|
|
290
287
|
- Fix ONLY the issue(s) causing the CI failure — do not refactor unrelated code
|
|
291
288
|
- The commit message MUST start with \`fix(ci): attempt ${attemptNumber}/${maxAttempts} — \`
|
|
292
|
-
- The commit MUST include the co-author trailer: \`${COMMIT_CO_AUTHOR}\`
|
|
293
|
-
- Do NOT include any other Co-Authored-By trailer (e.g. Claude) — only the Shep Bot trailer
|
|
294
289
|
- Do NOT create a new branch — push directly to \`${branch}\`
|
|
295
290
|
- If the failure is unclear, make your best diagnosis and explain your reasoning in the commit message`;
|
|
296
291
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Re-export PR
|
|
2
|
+
* Re-export PR branding from the canonical location in git services.
|
|
3
3
|
*/
|
|
4
|
-
export { PR_BRANDING,
|
|
4
|
+
export { PR_BRANDING, applyPrBranding } from '../../../../../services/git/pr-branding.js';
|
|
5
5
|
//# sourceMappingURL=pr-branding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-branding.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"pr-branding.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Re-export PR
|
|
2
|
+
* Re-export PR branding from the canonical location in git services.
|
|
3
3
|
*/
|
|
4
|
-
export { PR_BRANDING,
|
|
4
|
+
export { PR_BRANDING, applyPrBranding } from '../../../../../services/git/pr-branding.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wEAAwE,CAAC;AAC5G,OAAO,KAAK,EACV,cAAc,EAGd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,cAAc,EACd,YAAY,EACb,MAAM,wEAAwE,CAAC;AAUhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,qBACa,YAAa,YAAW,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAErE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBjD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgF9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuClE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,aAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;YA6BjF,eAAe;IASvB,gBAAgB,CACpB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ import { readFileSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
|
22
22
|
import { tmpdir } from 'node:os';
|
|
23
23
|
import { join } from 'node:path';
|
|
24
24
|
import yaml from 'js-yaml';
|
|
25
|
-
import { applyPrBranding
|
|
25
|
+
import { applyPrBranding } from './pr-branding.js';
|
|
26
26
|
let GitPrService = class GitPrService {
|
|
27
27
|
execFile;
|
|
28
28
|
constructor(execFile) {
|
|
@@ -298,10 +298,9 @@ let GitPrService = class GitPrService {
|
|
|
298
298
|
if (status.trim().length > 0) {
|
|
299
299
|
// Write commit message to a temp file to avoid shell splitting on Windows
|
|
300
300
|
// (DI-injected execFile uses shell: true on Windows, which splits on spaces)
|
|
301
|
-
const brandedMessage = applyCommitBranding(commitMessage);
|
|
302
301
|
const msgFile = join(tmpdir(), `shep-merge-msg-${Date.now()}.txt`);
|
|
303
302
|
try {
|
|
304
|
-
writeFileSync(msgFile,
|
|
303
|
+
writeFileSync(msgFile, commitMessage, 'utf8');
|
|
305
304
|
await this.execFile('git', ['commit', '--file', msgFile], { cwd });
|
|
306
305
|
}
|
|
307
306
|
finally {
|
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PR
|
|
2
|
+
* PR Branding
|
|
3
3
|
*
|
|
4
|
-
* Centralizes the branding used in pull request bodies
|
|
5
|
-
*
|
|
6
|
-
* PR creation paths (agent-driven, fork-and-PR, etc.)
|
|
7
|
-
* paths (agent commits, squash-merge commits, CI-fix commits).
|
|
4
|
+
* Centralizes the branding footer used in pull request bodies
|
|
5
|
+
* created by Shep. Ensures consistent attribution across all
|
|
6
|
+
* PR creation paths (agent-driven, fork-and-PR, etc.).
|
|
8
7
|
*/
|
|
9
8
|
/** The branding line to append to PR bodies. */
|
|
10
9
|
export declare const PR_BRANDING = "[\uD83D\uDC11](https://github.com/shep-ai/shep) Built with [Shep.bot](https://shep.bot)";
|
|
11
|
-
/** The co-author trailer to include in commit messages. */
|
|
12
|
-
export declare const COMMIT_CO_AUTHOR = "Co-Authored-By: Shep Bot <shep-agent@users.noreply.github.com>";
|
|
13
10
|
/**
|
|
14
11
|
* Ensure a PR body carries the correct Shep branding.
|
|
15
12
|
*
|
|
16
13
|
* 1. Strips any unwanted AI-tool attribution footers
|
|
17
|
-
* 2.
|
|
18
|
-
* 3. Appends the Shep branding line if not already present
|
|
14
|
+
* 2. Appends the Shep branding line if not already present
|
|
19
15
|
*/
|
|
20
16
|
export declare function applyPrBranding(body: string): string;
|
|
21
|
-
/**
|
|
22
|
-
* Ensure a commit message carries the correct Shep co-author trailer.
|
|
23
|
-
*
|
|
24
|
-
* 1. Strips any unwanted Co-Authored-By trailers (e.g. Claude)
|
|
25
|
-
* 2. Appends the Shep Bot co-author trailer if not already present
|
|
26
|
-
*/
|
|
27
|
-
export declare function applyCommitBranding(message: string): string;
|
|
28
17
|
//# sourceMappingURL=pr-branding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-branding.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/pr-branding.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pr-branding.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/pr-branding.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gDAAgD;AAChD,eAAO,MAAM,WAAW,4FACyD,CAAC;AASlF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAapD"}
|
|
@@ -1,40 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PR
|
|
2
|
+
* PR Branding
|
|
3
3
|
*
|
|
4
|
-
* Centralizes the branding used in pull request bodies
|
|
5
|
-
*
|
|
6
|
-
* PR creation paths (agent-driven, fork-and-PR, etc.)
|
|
7
|
-
* paths (agent commits, squash-merge commits, CI-fix commits).
|
|
4
|
+
* Centralizes the branding footer used in pull request bodies
|
|
5
|
+
* created by Shep. Ensures consistent attribution across all
|
|
6
|
+
* PR creation paths (agent-driven, fork-and-PR, etc.).
|
|
8
7
|
*/
|
|
9
8
|
/** The branding line to append to PR bodies. */
|
|
10
9
|
export const PR_BRANDING = '[🐑](https://github.com/shep-ai/shep) Built with [Shep.bot](https://shep.bot)';
|
|
11
|
-
/** The co-author trailer to include in commit messages. */
|
|
12
|
-
export const COMMIT_CO_AUTHOR = 'Co-Authored-By: Shep Bot <shep-agent@users.noreply.github.com>';
|
|
13
10
|
/**
|
|
14
11
|
* Pattern matching common AI-tool attribution footers that should be
|
|
15
12
|
* replaced (e.g. "Generated with Claude Code", "Co-Authored-By: Claude").
|
|
16
13
|
*/
|
|
17
|
-
const
|
|
18
|
-
/**
|
|
19
|
-
* Pattern matching unwanted Co-Authored-By trailers from AI tools.
|
|
20
|
-
* Matches lines like:
|
|
21
|
-
* Co-Authored-By: Claude <noreply@anthropic.com>
|
|
22
|
-
* Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
23
|
-
* Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
24
|
-
*/
|
|
25
|
-
const UNWANTED_CO_AUTHOR_PATTERN = /\n*Co-Authored-By:\s*Claude[^\n]*<noreply@anthropic\.com>\s*/gi;
|
|
14
|
+
const UNWANTED_BRANDING_PATTERN = /\n*(?:🤖\s*)?Generated with \[Claude Code\]\(https:\/\/claude\.com\/claude-code\)\s*/gi;
|
|
26
15
|
/**
|
|
27
16
|
* Ensure a PR body carries the correct Shep branding.
|
|
28
17
|
*
|
|
29
18
|
* 1. Strips any unwanted AI-tool attribution footers
|
|
30
|
-
* 2.
|
|
31
|
-
* 3. Appends the Shep branding line if not already present
|
|
19
|
+
* 2. Appends the Shep branding line if not already present
|
|
32
20
|
*/
|
|
33
21
|
export function applyPrBranding(body) {
|
|
34
22
|
// Strip unwanted branding
|
|
35
|
-
let cleaned = body.replace(
|
|
36
|
-
// Strip unwanted co-author trailers
|
|
37
|
-
cleaned = cleaned.replace(UNWANTED_CO_AUTHOR_PATTERN, '');
|
|
23
|
+
let cleaned = body.replace(UNWANTED_BRANDING_PATTERN, '');
|
|
38
24
|
// Trim trailing whitespace/newlines before appending branding
|
|
39
25
|
cleaned = cleaned.trimEnd();
|
|
40
26
|
// Only append if not already present
|
|
@@ -43,20 +29,3 @@ export function applyPrBranding(body) {
|
|
|
43
29
|
}
|
|
44
30
|
return cleaned;
|
|
45
31
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Ensure a commit message carries the correct Shep co-author trailer.
|
|
48
|
-
*
|
|
49
|
-
* 1. Strips any unwanted Co-Authored-By trailers (e.g. Claude)
|
|
50
|
-
* 2. Appends the Shep Bot co-author trailer if not already present
|
|
51
|
-
*/
|
|
52
|
-
export function applyCommitBranding(message) {
|
|
53
|
-
// Strip unwanted co-author trailers
|
|
54
|
-
let cleaned = message.replace(UNWANTED_CO_AUTHOR_PATTERN, '');
|
|
55
|
-
// Trim trailing whitespace/newlines
|
|
56
|
-
cleaned = cleaned.trimEnd();
|
|
57
|
-
// Only append if not already present
|
|
58
|
-
if (!cleaned.includes(COMMIT_CO_AUTHOR)) {
|
|
59
|
-
cleaned = `${cleaned}\n\n${COMMIT_CO_AUTHOR}`;
|
|
60
|
-
}
|
|
61
|
-
return cleaned;
|
|
62
|
-
}
|