@yanhaidao/wecom 2.3.3 → 2.3.9
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/.github/workflows/release.yml +69 -1
- package/README.md +213 -337
- package/assets/03.bot.page.png +0 -0
- package/changelog/v2.3.4.md +20 -0
- package/changelog/v2.3.9.md +22 -0
- package/compat-single-account.md +32 -2
- package/index.test.ts +34 -0
- package/index.ts +15 -7
- package/package.json +8 -7
- package/src/agent/api-client.upload.test.ts +1 -2
- package/src/agent/handler.ts +82 -9
- package/src/agent/index.ts +1 -1
- package/src/app/account-runtime.ts +245 -0
- package/src/app/bootstrap.ts +29 -0
- package/src/app/index.ts +31 -0
- package/src/capability/agent/delivery-service.ts +79 -0
- package/src/capability/agent/fallback-policy.ts +13 -0
- package/src/capability/agent/index.ts +3 -0
- package/src/capability/agent/ingress-service.ts +38 -0
- package/src/capability/bot/dispatch-config.ts +47 -0
- package/src/capability/bot/fallback-delivery.ts +178 -0
- package/src/capability/bot/index.ts +1 -0
- package/src/capability/bot/local-path-delivery.ts +215 -0
- package/src/capability/bot/service.ts +56 -0
- package/src/capability/bot/stream-delivery.ts +379 -0
- package/src/capability/bot/stream-finalizer.ts +120 -0
- package/src/capability/bot/stream-orchestrator.ts +352 -0
- package/src/capability/bot/types.ts +8 -0
- package/src/capability/index.ts +2 -0
- package/src/channel.lifecycle.test.ts +9 -6
- package/src/channel.meta.test.ts +12 -0
- package/src/channel.ts +48 -21
- package/src/config/accounts.ts +223 -283
- package/src/config/derived-paths.test.ts +111 -0
- package/src/config/derived-paths.ts +41 -0
- package/src/config/index.ts +10 -12
- package/src/config/runtime-config.ts +46 -0
- package/src/config/schema.ts +59 -102
- package/src/domain/models.ts +7 -0
- package/src/domain/policies.ts +36 -0
- package/src/dynamic-agent.ts +6 -0
- package/src/gateway-monitor.ts +43 -93
- package/src/http.ts +23 -2
- package/src/monitor/limits.ts +7 -0
- package/src/monitor/state.ts +28 -508
- package/src/monitor.active.test.ts +3 -3
- package/src/monitor.integration.test.ts +0 -1
- package/src/monitor.ts +64 -2603
- package/src/monitor.webhook.test.ts +127 -42
- package/src/observability/audit-log.ts +48 -0
- package/src/observability/legacy-operational-event-store.ts +36 -0
- package/src/observability/raw-envelope-log.ts +28 -0
- package/src/observability/status-registry.ts +13 -0
- package/src/observability/transport-session-view.ts +14 -0
- package/src/onboarding.test.ts +219 -0
- package/src/onboarding.ts +88 -71
- package/src/outbound.test.ts +5 -5
- package/src/outbound.ts +18 -66
- package/src/runtime/dispatcher.ts +52 -0
- package/src/runtime/index.ts +4 -0
- package/src/runtime/outbound-intent.ts +4 -0
- package/src/runtime/reply-orchestrator.test.ts +38 -0
- package/src/runtime/reply-orchestrator.ts +55 -0
- package/src/runtime/routing-bridge.ts +19 -0
- package/src/runtime/session-manager.ts +76 -0
- package/src/runtime.ts +7 -14
- package/src/shared/command-auth.ts +1 -17
- package/src/shared/media-service.ts +36 -0
- package/src/shared/media-types.ts +5 -0
- package/src/store/active-reply-store.ts +42 -0
- package/src/store/interfaces.ts +11 -0
- package/src/store/memory-store.ts +43 -0
- package/src/store/stream-batch-store.ts +350 -0
- package/src/target.ts +28 -0
- package/src/transport/agent-api/client.ts +44 -0
- package/src/transport/agent-api/core.ts +367 -0
- package/src/transport/agent-api/delivery.ts +41 -0
- package/src/transport/agent-api/media-upload.ts +11 -0
- package/src/transport/agent-api/reply.ts +39 -0
- package/src/transport/agent-callback/http-handler.ts +47 -0
- package/src/transport/agent-callback/inbound.ts +5 -0
- package/src/transport/agent-callback/reply.ts +13 -0
- package/src/transport/agent-callback/request-handler.ts +244 -0
- package/src/transport/agent-callback/session.ts +23 -0
- package/src/transport/bot-webhook/active-reply.ts +36 -0
- package/src/transport/bot-webhook/http-handler.ts +48 -0
- package/src/transport/bot-webhook/inbound-normalizer.ts +371 -0
- package/src/transport/bot-webhook/inbound.ts +5 -0
- package/src/transport/bot-webhook/message-shape.ts +89 -0
- package/src/transport/bot-webhook/protocol.ts +148 -0
- package/src/transport/bot-webhook/reply.ts +15 -0
- package/src/transport/bot-webhook/request-handler.ts +394 -0
- package/src/transport/bot-webhook/session.ts +23 -0
- package/src/transport/bot-ws/inbound.ts +109 -0
- package/src/transport/bot-ws/reply.ts +48 -0
- package/src/transport/bot-ws/sdk-adapter.ts +180 -0
- package/src/transport/bot-ws/session.ts +28 -0
- package/src/transport/http/common.ts +109 -0
- package/src/transport/http/registry.ts +92 -0
- package/src/transport/http/request-handler.ts +84 -0
- package/src/transport/index.ts +14 -0
- package/src/types/account.ts +56 -91
- package/src/types/config.ts +59 -112
- package/src/types/constants.ts +20 -35
- package/src/types/events.ts +21 -0
- package/src/types/index.ts +14 -38
- package/src/types/legacy-stream.ts +50 -0
- package/src/types/runtime-context.ts +28 -0
- package/src/types/runtime.ts +161 -0
- package/src/agent/api-client.ts +0 -383
- package/src/monitor/types.ts +0 -136
|
@@ -4,6 +4,7 @@ on:
|
|
|
4
4
|
push:
|
|
5
5
|
tags:
|
|
6
6
|
- 'v*'
|
|
7
|
+
- 'wecom-v*'
|
|
7
8
|
|
|
8
9
|
jobs:
|
|
9
10
|
publish:
|
|
@@ -34,6 +35,51 @@ jobs:
|
|
|
34
35
|
run: |
|
|
35
36
|
npm i -g npm@^11.5.1
|
|
36
37
|
npm -v
|
|
38
|
+
npm config delete always-auth || true
|
|
39
|
+
|
|
40
|
+
- name: Resolve release metadata
|
|
41
|
+
id: meta
|
|
42
|
+
run: |
|
|
43
|
+
set -euo pipefail
|
|
44
|
+
TAG="${GITHUB_REF_NAME}"
|
|
45
|
+
if [[ "${TAG}" == wecom-v* ]]; then
|
|
46
|
+
VERSION="${TAG#wecom-v}"
|
|
47
|
+
elif [[ "${TAG}" == v* ]]; then
|
|
48
|
+
VERSION="${TAG#v}"
|
|
49
|
+
else
|
|
50
|
+
echo "::error::Unsupported tag format: ${TAG}. Use v<version> or wecom-v<version>."
|
|
51
|
+
exit 1
|
|
52
|
+
fi
|
|
53
|
+
PKG_NAME="$(node -p "require('./package.json').name")"
|
|
54
|
+
PKG_VERSION="$(node -p "require('./package.json').version")"
|
|
55
|
+
|
|
56
|
+
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
|
|
57
|
+
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
|
|
58
|
+
echo "pkg_name=${PKG_NAME}" >> "$GITHUB_OUTPUT"
|
|
59
|
+
echo "pkg_version=${PKG_VERSION}" >> "$GITHUB_OUTPUT"
|
|
60
|
+
|
|
61
|
+
echo "tag=${TAG}"
|
|
62
|
+
echo "version_from_tag=${VERSION}"
|
|
63
|
+
echo "package=${PKG_NAME}@${PKG_VERSION}"
|
|
64
|
+
|
|
65
|
+
if [ "${VERSION}" != "${PKG_VERSION}" ]; then
|
|
66
|
+
echo "::error::Tag version (${VERSION}) does not match package.json version (${PKG_VERSION})."
|
|
67
|
+
exit 1
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
- name: Check npm version already published
|
|
71
|
+
id: npm_check
|
|
72
|
+
run: |
|
|
73
|
+
set -euo pipefail
|
|
74
|
+
PKG="${{ steps.meta.outputs.pkg_name }}"
|
|
75
|
+
VER="${{ steps.meta.outputs.pkg_version }}"
|
|
76
|
+
if npm view "${PKG}@${VER}" version >/dev/null 2>&1; then
|
|
77
|
+
echo "exists=true" >> "$GITHUB_OUTPUT"
|
|
78
|
+
echo "npm version already published: ${PKG}@${VER}"
|
|
79
|
+
else
|
|
80
|
+
echo "exists=false" >> "$GITHUB_OUTPUT"
|
|
81
|
+
echo "npm version not published yet: ${PKG}@${VER}"
|
|
82
|
+
fi
|
|
37
83
|
|
|
38
84
|
- name: Install Dependencies
|
|
39
85
|
run: npm install --legacy-peer-deps || npm install
|
|
@@ -43,13 +89,35 @@ jobs:
|
|
|
43
89
|
|
|
44
90
|
# 🚀 自动发布到 npm (使用 OIDC 自动授权,无需 Token)
|
|
45
91
|
- name: Publish to npm
|
|
92
|
+
if: steps.npm_check.outputs.exists != 'true'
|
|
46
93
|
run: npm publish --access public
|
|
47
94
|
|
|
95
|
+
- name: Prepare release notes body
|
|
96
|
+
id: notes
|
|
97
|
+
run: |
|
|
98
|
+
set -euo pipefail
|
|
99
|
+
CHANGELOG_FILE="changelog/v${{ steps.meta.outputs.version }}.md"
|
|
100
|
+
if [ -f "${CHANGELOG_FILE}" ]; then
|
|
101
|
+
echo "Using changelog file: ${CHANGELOG_FILE}"
|
|
102
|
+
cp "${CHANGELOG_FILE}" /tmp/release-body.md
|
|
103
|
+
else
|
|
104
|
+
echo "Changelog file missing: ${CHANGELOG_FILE}; using fallback notes."
|
|
105
|
+
{
|
|
106
|
+
echo "# @yanhaidao/wecom v${{ steps.meta.outputs.version }}"
|
|
107
|
+
echo
|
|
108
|
+
if [ "${{ steps.npm_check.outputs.exists }}" = "true" ]; then
|
|
109
|
+
echo "- npm publish skipped: version already exists."
|
|
110
|
+
else
|
|
111
|
+
echo "- npm publish completed."
|
|
112
|
+
fi
|
|
113
|
+
} > /tmp/release-body.md
|
|
114
|
+
fi
|
|
115
|
+
|
|
48
116
|
# 自动同步发布 GitHub Release
|
|
49
117
|
- name: Create GitHub Release
|
|
50
118
|
uses: softprops/action-gh-release@v2
|
|
51
119
|
with:
|
|
52
|
-
body_path:
|
|
120
|
+
body_path: /tmp/release-body.md
|
|
53
121
|
draft: false
|
|
54
122
|
prerelease: false
|
|
55
123
|
env:
|