@teneo-protocol/sdk 2.0.0 → 2.2.0
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/.eslintrc.json +11 -2
- package/.github/CODEOWNERS +2 -0
- package/.github/ISSUE_TEMPLATE/01-bug.yml +85 -0
- package/.github/ISSUE_TEMPLATE/config.yml +8 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
- package/.github/workflows/claude-code-review.yml +8 -3
- package/.github/workflows/claude-reviewer.yml +6 -4
- package/.github/workflows/publish-npm.yml +1 -0
- package/.github/workflows/push-to-main.yml +1 -1
- package/.github/workflows/top-issue.yml +102 -0
- package/CHANGELOG.md +69 -0
- package/CONCEPTS.md +747 -0
- package/README.md +178 -8
- package/dist/constants.js +8 -8
- package/dist/constants.js.map +1 -1
- package/dist/core/websocket-client.d.ts +15 -3
- package/dist/core/websocket-client.d.ts.map +1 -1
- package/dist/core/websocket-client.js +52 -13
- package/dist/core/websocket-client.js.map +1 -1
- package/dist/formatters/response-formatter.js +4 -0
- package/dist/formatters/response-formatter.js.map +1 -1
- package/dist/handlers/message-handler-registry.js +2 -1
- package/dist/handlers/message-handler-registry.js.map +1 -1
- package/dist/handlers/message-handlers/agent-details-response-handler.d.ts +1666 -0
- package/dist/handlers/message-handlers/agent-details-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/agent-details-response-handler.js +38 -0
- package/dist/handlers/message-handlers/agent-details-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/agent-room-operation-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/agent-room-operation-response-handler.js +2 -5
- package/dist/handlers/message-handlers/agent-room-operation-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/agent-selected-handler.js +2 -5
- package/dist/handlers/message-handlers/agent-selected-handler.js.map +1 -1
- package/dist/handlers/message-handlers/agent-status-update-handler.d.ts +783 -0
- package/dist/handlers/message-handlers/agent-status-update-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/agent-status-update-handler.js +2 -5
- package/dist/handlers/message-handlers/agent-status-update-handler.js.map +1 -1
- package/dist/handlers/message-handlers/agents-list-handler.js +2 -5
- package/dist/handlers/message-handlers/agents-list-handler.js.map +1 -1
- package/dist/handlers/message-handlers/all-agents-response-handler.d.ts +439 -0
- package/dist/handlers/message-handlers/all-agents-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/all-agents-response-handler.js +36 -0
- package/dist/handlers/message-handlers/all-agents-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/auth-error-handler.js +2 -5
- package/dist/handlers/message-handlers/auth-error-handler.js.map +1 -1
- package/dist/handlers/message-handlers/auth-message-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/auth-message-handler.js +6 -5
- package/dist/handlers/message-handlers/auth-message-handler.js.map +1 -1
- package/dist/handlers/message-handlers/auth-required-handler.js +2 -5
- package/dist/handlers/message-handlers/auth-required-handler.js.map +1 -1
- package/dist/handlers/message-handlers/auth-success-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/auth-success-handler.js +6 -5
- package/dist/handlers/message-handlers/auth-success-handler.js.map +1 -1
- package/dist/handlers/message-handlers/base-handler.d.ts +4 -4
- package/dist/handlers/message-handlers/base-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/base-handler.js +3 -1
- package/dist/handlers/message-handlers/base-handler.js.map +1 -1
- package/dist/handlers/message-handlers/challenge-handler.js +3 -2
- package/dist/handlers/message-handlers/challenge-handler.js.map +1 -1
- package/dist/handlers/message-handlers/error-message-handler.js +2 -5
- package/dist/handlers/message-handlers/error-message-handler.js.map +1 -1
- package/dist/handlers/message-handlers/index.d.ts +6 -0
- package/dist/handlers/message-handlers/index.d.ts.map +1 -1
- package/dist/handlers/message-handlers/index.js +33 -1
- package/dist/handlers/message-handlers/index.js.map +1 -1
- package/dist/handlers/message-handlers/list-available-agents-handler.d.ts +783 -0
- package/dist/handlers/message-handlers/list-available-agents-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/list-available-agents-handler.js +2 -5
- package/dist/handlers/message-handlers/list-available-agents-handler.js.map +1 -1
- package/dist/handlers/message-handlers/list-room-agents-handler.d.ts +783 -0
- package/dist/handlers/message-handlers/list-room-agents-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/list-room-agents-handler.js +2 -5
- package/dist/handlers/message-handlers/list-room-agents-handler.js.map +1 -1
- package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts +2 -199
- package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/list-rooms-response-handler.js +4 -6
- package/dist/handlers/message-handlers/list-rooms-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/ping-pong-handler.js +4 -10
- package/dist/handlers/message-handlers/ping-pong-handler.js.map +1 -1
- package/dist/handlers/message-handlers/rate-limit-notification-handler.d.ts +94 -0
- package/dist/handlers/message-handlers/rate-limit-notification-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/rate-limit-notification-handler.js +35 -0
- package/dist/handlers/message-handlers/rate-limit-notification-handler.js.map +1 -0
- package/dist/handlers/message-handlers/regular-message-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/regular-message-handler.js +4 -6
- package/dist/handlers/message-handlers/regular-message-handler.js.map +1 -1
- package/dist/handlers/message-handlers/room-operation-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/room-operation-response-handler.js +2 -5
- package/dist/handlers/message-handlers/room-operation-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/subscribe-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/subscribe-response-handler.js +4 -6
- package/dist/handlers/message-handlers/subscribe-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/task-quote-handler.d.ts +14 -0
- package/dist/handlers/message-handlers/task-quote-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/task-quote-handler.js +29 -0
- package/dist/handlers/message-handlers/task-quote-handler.js.map +1 -0
- package/dist/handlers/message-handlers/task-response-handler.js +2 -5
- package/dist/handlers/message-handlers/task-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/types.d.ts +21 -9
- package/dist/handlers/message-handlers/types.d.ts.map +1 -1
- package/dist/handlers/message-handlers/unsubscribe-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/unsubscribe-response-handler.js +4 -6
- package/dist/handlers/message-handlers/unsubscribe-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/user-authenticated-handler.d.ts +40 -0
- package/dist/handlers/message-handlers/user-authenticated-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/user-authenticated-handler.js +28 -0
- package/dist/handlers/message-handlers/user-authenticated-handler.js.map +1 -0
- package/dist/handlers/message-handlers/user-count-handler.d.ts +49 -0
- package/dist/handlers/message-handlers/user-count-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/user-count-handler.js +31 -0
- package/dist/handlers/message-handlers/user-count-handler.js.map +1 -0
- package/dist/handlers/webhook-handler.d.ts +1 -1
- package/dist/handlers/webhook-handler.d.ts.map +1 -1
- package/dist/handlers/webhook-handler.js +14 -5
- package/dist/handlers/webhook-handler.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/managers/admin-manager.d.ts +116 -0
- package/dist/managers/admin-manager.d.ts.map +1 -0
- package/dist/managers/admin-manager.js +169 -0
- package/dist/managers/admin-manager.js.map +1 -0
- package/dist/managers/agent-registry.d.ts +52 -1
- package/dist/managers/agent-registry.d.ts.map +1 -1
- package/dist/managers/agent-registry.js +145 -6
- package/dist/managers/agent-registry.js.map +1 -1
- package/dist/managers/agent-room-manager.d.ts +1 -7
- package/dist/managers/agent-room-manager.d.ts.map +1 -1
- package/dist/managers/agent-room-manager.js +83 -36
- package/dist/managers/agent-room-manager.js.map +1 -1
- package/dist/managers/connection-manager.js +2 -0
- package/dist/managers/connection-manager.js.map +1 -1
- package/dist/managers/index.d.ts +2 -1
- package/dist/managers/index.d.ts.map +1 -1
- package/dist/managers/index.js +3 -1
- package/dist/managers/index.js.map +1 -1
- package/dist/managers/message-router.d.ts +56 -5
- package/dist/managers/message-router.d.ts.map +1 -1
- package/dist/managers/message-router.js +155 -8
- package/dist/managers/message-router.js.map +1 -1
- package/dist/managers/room-management-manager.d.ts.map +1 -1
- package/dist/managers/room-management-manager.js +9 -7
- package/dist/managers/room-management-manager.js.map +1 -1
- package/dist/managers/room-manager.d.ts +7 -5
- package/dist/managers/room-manager.d.ts.map +1 -1
- package/dist/managers/room-manager.js +14 -10
- package/dist/managers/room-manager.js.map +1 -1
- package/dist/payments/index.d.ts +5 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +21 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/payments/payment-client.d.ts +74 -0
- package/dist/payments/payment-client.d.ts.map +1 -0
- package/dist/payments/payment-client.js +207 -0
- package/dist/payments/payment-client.js.map +1 -0
- package/dist/teneo-sdk.d.ts +135 -21
- package/dist/teneo-sdk.d.ts.map +1 -1
- package/dist/teneo-sdk.js +268 -26
- package/dist/teneo-sdk.js.map +1 -1
- package/dist/types/categories.d.ts +22 -0
- package/dist/types/categories.d.ts.map +1 -0
- package/dist/types/categories.js +40 -0
- package/dist/types/categories.js.map +1 -0
- package/dist/types/config.d.ts +79 -8
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +62 -5
- package/dist/types/config.js.map +1 -1
- package/dist/types/error-codes.d.ts +8 -0
- package/dist/types/error-codes.d.ts.map +1 -1
- package/dist/types/error-codes.js +9 -0
- package/dist/types/error-codes.js.map +1 -1
- package/dist/types/events.d.ts +44 -0
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/events.js +19 -1
- package/dist/types/events.js.map +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +33 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/messages.d.ts +11219 -423
- package/dist/types/messages.d.ts.map +1 -1
- package/dist/types/messages.js +249 -7
- package/dist/types/messages.js.map +1 -1
- package/dist/utils/bounded-queue.d.ts.map +1 -1
- package/dist/utils/bounded-queue.js +5 -2
- package/dist/utils/bounded-queue.js.map +1 -1
- package/dist/utils/circuit-breaker.js +11 -4
- package/dist/utils/circuit-breaker.js.map +1 -1
- package/dist/utils/deduplication-cache.js +3 -1
- package/dist/utils/deduplication-cache.js.map +1 -1
- package/dist/utils/event-waiter.d.ts +3 -3
- package/dist/utils/event-waiter.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/pricing-resolver.d.ts +26 -0
- package/dist/utils/pricing-resolver.d.ts.map +1 -0
- package/dist/utils/pricing-resolver.js +85 -0
- package/dist/utils/pricing-resolver.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -1
- package/dist/utils/rate-limiter.js +6 -0
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/retry-policy.js +1 -0
- package/dist/utils/retry-policy.js.map +1 -1
- package/dist/utils/secure-private-key.js +3 -1
- package/dist/utils/secure-private-key.js.map +1 -1
- package/dist/utils/signature-verifier.d.ts.map +1 -1
- package/dist/utils/signature-verifier.js +3 -1
- package/dist/utils/signature-verifier.js.map +1 -1
- package/examples/.env.example +1 -1
- package/examples/agent-room-management-example.ts +10 -9
- package/examples/basic-usage.ts +3 -4
- package/examples/claude-agent-x-follower/.env.example +1 -1
- package/examples/claude-agent-x-follower/QUICKSTART.md +2 -2
- package/examples/claude-agent-x-follower/README.md +2 -2
- package/examples/claude-agent-x-follower/index.ts +120 -96
- package/examples/n8n-teneo/.env.example +1 -1
- package/examples/n8n-teneo/README.md +1 -1
- package/examples/n8n-teneo/index.ts +54 -44
- package/examples/nestjs-dashboard/.env.example +11 -0
- package/examples/nestjs-dashboard/README.md +297 -0
- package/examples/nestjs-dashboard/nest-cli.json +10 -0
- package/examples/nestjs-dashboard/package.json +44 -0
- package/examples/nestjs-dashboard/pnpm-lock.yaml +3079 -0
- package/examples/nestjs-dashboard/src/app.controller.ts +24 -0
- package/examples/nestjs-dashboard/src/app.module.ts +15 -0
- package/examples/nestjs-dashboard/src/main.ts +32 -0
- package/examples/nestjs-dashboard/src/public/dashboard.html +1144 -0
- package/examples/nestjs-dashboard/src/teneo/agents.controller.ts +54 -0
- package/examples/nestjs-dashboard/src/teneo/events.controller.ts +65 -0
- package/examples/nestjs-dashboard/src/teneo/messages.controller.ts +47 -0
- package/examples/nestjs-dashboard/src/teneo/rooms.controller.ts +258 -0
- package/examples/nestjs-dashboard/src/teneo/teneo.module.ts +13 -0
- package/examples/nestjs-dashboard/src/teneo/teneo.service.ts +484 -0
- package/examples/nestjs-dashboard/tsconfig.json +22 -0
- package/examples/openai-teneo/.env.example +1 -1
- package/examples/openai-teneo/README.md +2 -2
- package/examples/openai-teneo/index.ts +82 -71
- package/examples/production-dashboard/.env.example +1 -1
- package/examples/production-dashboard/README.md +1 -1
- package/examples/production-dashboard/server.ts +2 -2
- package/examples/room-management-example.ts +5 -8
- package/examples/usage/.env.example +1 -1
- package/examples/usage/01-connect.ts +3 -4
- package/examples/usage/02-list-agents.ts +2 -3
- package/examples/usage/03-pick-agent.ts +2 -3
- package/examples/usage/04-find-by-capability.ts +2 -3
- package/examples/usage/05-webhook-example.ts +2 -3
- package/examples/usage/06-simple-api-server.ts +2 -3
- package/examples/usage/07-event-listener.ts +2 -3
- package/examples/webhook-integration.ts +1 -1
- package/examples/x-influencer-battle-server.ts +2 -2
- package/package.json +4 -1
- package/src/core/websocket-client.test.ts +8 -3
- package/src/core/websocket-client.ts +36 -6
- package/src/formatters/response-formatter.test.ts +2 -0
- package/src/formatters/response-formatter.ts +3 -3
- package/src/handlers/message-handlers/agent-details-response-handler.ts +42 -0
- package/src/handlers/message-handlers/agent-room-operation-response-handler.ts +2 -8
- package/src/handlers/message-handlers/agent-status-update-handler.ts +3 -9
- package/src/handlers/message-handlers/all-agents-response-handler.ts +39 -0
- package/src/handlers/message-handlers/auth-message-handler.ts +5 -0
- package/src/handlers/message-handlers/auth-success-handler.ts +6 -1
- package/src/handlers/message-handlers/base-handler.ts +20 -7
- package/src/handlers/message-handlers/index.ts +34 -0
- package/src/handlers/message-handlers/list-room-agents-handler.ts +2 -5
- package/src/handlers/message-handlers/list-rooms-response-handler.ts +4 -2
- package/src/handlers/message-handlers/rate-limit-notification-handler.ts +45 -0
- package/src/handlers/message-handlers/regular-message-handler.ts +3 -2
- package/src/handlers/message-handlers/room-operation-response-handler.ts +3 -6
- package/src/handlers/message-handlers/subscribe-response-handler.ts +12 -2
- package/src/handlers/message-handlers/task-quote-handler.ts +31 -0
- package/src/handlers/message-handlers/types.ts +37 -9
- package/src/handlers/message-handlers/unsubscribe-response-handler.ts +12 -2
- package/src/handlers/message-handlers/user-authenticated-handler.ts +31 -0
- package/src/handlers/message-handlers/user-count-handler.ts +34 -0
- package/src/handlers/webhook-handler.test.ts +3 -2
- package/src/handlers/webhook-handler.ts +13 -7
- package/src/index.ts +21 -0
- package/src/managers/admin-manager.ts +249 -0
- package/src/managers/agent-registry.test.ts +2 -1
- package/src/managers/agent-registry.ts +170 -2
- package/src/managers/agent-room-manager.ts +98 -42
- package/src/managers/index.ts +13 -1
- package/src/managers/message-router.ts +215 -17
- package/src/managers/room-management-manager.ts +4 -7
- package/src/managers/room-manager.ts +11 -15
- package/src/payments/index.ts +22 -0
- package/src/payments/payment-client.ts +240 -0
- package/src/teneo-sdk.ts +302 -27
- package/src/types/categories.ts +45 -0
- package/src/types/config.ts +70 -2
- package/src/types/error-codes.ts +10 -0
- package/src/types/events.test.ts +1 -0
- package/src/types/events.ts +43 -0
- package/src/types/index.ts +56 -0
- package/src/types/messages.test.ts +2 -1
- package/src/types/messages.ts +307 -5
- package/src/utils/bounded-queue.test.ts +1 -1
- package/src/utils/bounded-queue.ts +2 -1
- package/src/utils/circuit-breaker.test.ts +1 -1
- package/src/utils/deduplication-cache.test.ts +1 -1
- package/src/utils/event-waiter.test.ts +1 -1
- package/src/utils/event-waiter.ts +3 -3
- package/src/utils/index.ts +7 -0
- package/src/utils/logger.ts +8 -8
- package/src/utils/pricing-resolver.ts +128 -0
- package/src/utils/rate-limiter.test.ts +1 -1
- package/src/utils/rate-limiter.ts +1 -0
- package/src/utils/signature-verifier.test.ts +2 -2
- package/src/utils/signature-verifier.ts +3 -2
- package/tests/.env.example +7 -0
- package/tests/direct-agent-test.ts +151 -0
- package/tests/integration/real-server.test.ts +2 -0
- package/tests/integration/room-management.test.ts +10 -8
- package/tests/integration/websocket.test.ts +4 -1
- package/tests/payment-flow-test.ts +147 -0
- package/tests/unit/handlers/agent-room-operation-response-handler.test.ts +17 -29
- package/tests/unit/handlers/agent-status-update-handler.test.ts +2 -6
- package/tests/unit/handlers/auth-success-handler-rooms.test.ts +1 -3
- package/tests/unit/handlers/list-available-agents-handler.test.ts +4 -12
- package/tests/unit/handlers/list-room-agents-handler.test.ts +2 -6
- package/tests/unit/handlers/room-operation-response-handler.test.ts +9 -36
- package/tests/unit/managers/agent-room-manager.test.ts +9 -16
- package/tests/unit/managers/room-management-manager.test.ts +21 -39
- package/tsconfig.json +2 -2
- package/vitest.config.ts +1 -0
package/.eslintrc.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"node": true,
|
|
14
14
|
"jest": true
|
|
15
15
|
},
|
|
16
|
-
"ignorePatterns": ["dist", "node_modules"],
|
|
16
|
+
"ignorePatterns": ["dist", "node_modules", "examples"],
|
|
17
17
|
"rules": {
|
|
18
18
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
19
19
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
@@ -22,5 +22,14 @@
|
|
|
22
22
|
{ "argsIgnorePattern": "^_" }
|
|
23
23
|
],
|
|
24
24
|
"prettier/prettier": ["error", { "trailingComma": "none" }]
|
|
25
|
-
}
|
|
25
|
+
},
|
|
26
|
+
"overrides": [
|
|
27
|
+
{
|
|
28
|
+
"files": ["**/*.test.ts", "tests/**/*.ts"],
|
|
29
|
+
"rules": {
|
|
30
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
31
|
+
"@typescript-eslint/no-unused-vars": "off"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
]
|
|
26
35
|
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
name: Bug report
|
|
2
|
+
description: File a bug report for teneo-sdk
|
|
3
|
+
title: "<short description of the bug>"
|
|
4
|
+
labels:
|
|
5
|
+
- "bug"
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
Thank you for taking the time to report this issue and help improve teneo-sdk. We'll look into it! 🐛
|
|
11
|
+
|
|
12
|
+
- id: issue-type
|
|
13
|
+
type: dropdown
|
|
14
|
+
attributes:
|
|
15
|
+
label: Issue Type
|
|
16
|
+
description: What type of issue are you reporting?
|
|
17
|
+
options:
|
|
18
|
+
- Agent SDK Issue
|
|
19
|
+
- Network/Protocol Issue
|
|
20
|
+
- NFT Integration Issue
|
|
21
|
+
- Build/Dependency Issue
|
|
22
|
+
- Documentation Issue
|
|
23
|
+
- Other
|
|
24
|
+
validations:
|
|
25
|
+
required: true
|
|
26
|
+
|
|
27
|
+
- id: operating-system
|
|
28
|
+
type: dropdown
|
|
29
|
+
attributes:
|
|
30
|
+
label: Operating System
|
|
31
|
+
description: What operating system are you running?
|
|
32
|
+
options:
|
|
33
|
+
- macOS
|
|
34
|
+
- Windows
|
|
35
|
+
- Linux
|
|
36
|
+
validations:
|
|
37
|
+
required: true
|
|
38
|
+
|
|
39
|
+
- id: description
|
|
40
|
+
type: textarea
|
|
41
|
+
attributes:
|
|
42
|
+
label: Description of the bug
|
|
43
|
+
description: What happened and what did you expect?
|
|
44
|
+
placeholder: Describe what went wrong and what you expected to happen instead.
|
|
45
|
+
validations:
|
|
46
|
+
required: true
|
|
47
|
+
|
|
48
|
+
- id: reproduce
|
|
49
|
+
type: textarea
|
|
50
|
+
attributes:
|
|
51
|
+
label: Steps to Reproduce
|
|
52
|
+
placeholder: |
|
|
53
|
+
1. Initialize agent with configuration...
|
|
54
|
+
2. Call method/function...
|
|
55
|
+
3. See error
|
|
56
|
+
validations:
|
|
57
|
+
required: true
|
|
58
|
+
|
|
59
|
+
- id: screenshots
|
|
60
|
+
type: textarea
|
|
61
|
+
attributes:
|
|
62
|
+
label: Screenshots / Videos
|
|
63
|
+
description: If applicable, add screenshots or videos to help explain your problem
|
|
64
|
+
placeholder: Drag and drop images/videos here or paste URLs
|
|
65
|
+
|
|
66
|
+
- id: sdk-version
|
|
67
|
+
type: input
|
|
68
|
+
attributes:
|
|
69
|
+
label: SDK Version
|
|
70
|
+
description: Which version of teneo-sdk are you using? (Check your package.json or run `npm list teneo-sdk`)
|
|
71
|
+
placeholder: e.g., v0.1.0 or commit hash
|
|
72
|
+
|
|
73
|
+
- id: go-version
|
|
74
|
+
type: input
|
|
75
|
+
attributes:
|
|
76
|
+
label: Go Version
|
|
77
|
+
description: Which version of Go are you using? (Run `go version`)
|
|
78
|
+
placeholder: e.g., go1.21.0
|
|
79
|
+
|
|
80
|
+
- id: additional-context
|
|
81
|
+
type: textarea
|
|
82
|
+
attributes:
|
|
83
|
+
label: Additional Context
|
|
84
|
+
description: Add any other context about the problem here (logs, error messages, etc.)
|
|
85
|
+
placeholder: Paste error messages, logs, or any other relevant information...
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: 💬 Discord
|
|
4
|
+
url: https://discord.com/invite/teneoprotocol
|
|
5
|
+
about: Join our Discord for help and discussions!
|
|
6
|
+
- name: 📚 Documentation
|
|
7
|
+
url: https://teneo-protocol.ai/chat-room
|
|
8
|
+
about: Find setup guides and learn how to use Teneo SDK
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest a new feature or enhancement for teneo-sdk
|
|
4
|
+
title: '[Feature Request] '
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
What problem does this solve? (describe the problem you're experiencing)
|
|
10
|
+
*
|
|
11
|
+
|
|
12
|
+
How are you working around this today? (your current solution or workaround)
|
|
13
|
+
*
|
|
14
|
+
|
|
15
|
+
What's your proposed solution? (how should teneo-sdk address this?)
|
|
16
|
+
*
|
|
17
|
+
|
|
18
|
+
Additional context (optional - add screenshots, examples, or other helpful details)
|
|
19
|
+
*
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
Thanks for sharing your idea! We love hearing how we can make teneo-sdk better. ✨
|
|
@@ -12,11 +12,16 @@ on:
|
|
|
12
12
|
|
|
13
13
|
jobs:
|
|
14
14
|
claude-review:
|
|
15
|
+
# Only run in Teneo-Protocol organization
|
|
16
|
+
if: github.repository_owner == 'Teneo-Protocol'
|
|
17
|
+
|
|
15
18
|
# Optional: Filter by PR author
|
|
16
19
|
# if: |
|
|
17
|
-
# github.
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
+
# github.repository_owner == 'Teneo-Protocol' && (
|
|
21
|
+
# github.event.pull_request.user.login == 'external-contributor' ||
|
|
22
|
+
# github.event.pull_request.user.login == 'new-developer' ||
|
|
23
|
+
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
|
|
24
|
+
# )
|
|
20
25
|
|
|
21
26
|
runs-on: ubuntu-latest
|
|
22
27
|
permissions:
|
|
@@ -13,10 +13,12 @@ on:
|
|
|
13
13
|
jobs:
|
|
14
14
|
claude:
|
|
15
15
|
if: |
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
github.repository_owner == 'Teneo-Protocol' && (
|
|
17
|
+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
18
|
+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
19
|
+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
|
|
20
|
+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
|
|
21
|
+
)
|
|
20
22
|
runs-on: ubuntu-latest
|
|
21
23
|
permissions:
|
|
22
24
|
contents: read
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
name: Top Issues by Votes
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: "0 */2 * * *" # Run every 2 hours
|
|
6
|
+
workflow_dispatch: # Allow manual triggering
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
issues: write
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
update-top-issues:
|
|
14
|
+
# Only run if the repository is in the Teneo-Protocol organization
|
|
15
|
+
if: github.repository_owner == 'TeneoProtocolAI'
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- name: Update top issues list for teneo-agent-sdk
|
|
20
|
+
env:
|
|
21
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
+
# Set this to the issue number where you want to track top issues
|
|
23
|
+
# Leave empty to skip updating (will only log)
|
|
24
|
+
ISSUE_NUMBER: "1"
|
|
25
|
+
run: |
|
|
26
|
+
#!/bin/bash
|
|
27
|
+
set -e
|
|
28
|
+
|
|
29
|
+
echo "Fetching all open issues for teneo-agent-sdk..."
|
|
30
|
+
|
|
31
|
+
# Extract owner and repo from GitHub context
|
|
32
|
+
REPO_OWNER="${{ github.repository_owner }}"
|
|
33
|
+
REPO_NAME="${{ github.event.repository.name }}"
|
|
34
|
+
|
|
35
|
+
echo "Repository: $REPO_OWNER/$REPO_NAME"
|
|
36
|
+
|
|
37
|
+
# Fetch all open issues with reaction data
|
|
38
|
+
issues=$(gh api graphql -f query='
|
|
39
|
+
query($owner: String!, $repo: String!) {
|
|
40
|
+
repository(owner: $owner, name: $repo) {
|
|
41
|
+
issues(first: 100, states: OPEN, orderBy: {field: CREATED_AT, direction: DESC}) {
|
|
42
|
+
nodes {
|
|
43
|
+
number
|
|
44
|
+
title
|
|
45
|
+
url
|
|
46
|
+
reactions(content: THUMBS_UP) {
|
|
47
|
+
totalCount
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
' -f owner="$REPO_OWNER" -f repo="$REPO_NAME")
|
|
54
|
+
|
|
55
|
+
# Parse and sort issues by thumbs up count
|
|
56
|
+
sorted_issues=$(echo "$issues" | jq -r --arg ISSUE_NUMBER "$ISSUE_NUMBER" '
|
|
57
|
+
.data.repository.issues.nodes
|
|
58
|
+
| map(select(.number != ($ISSUE_NUMBER | tonumber)))
|
|
59
|
+
| sort_by(-.reactions.totalCount)
|
|
60
|
+
| to_entries
|
|
61
|
+
| map("\(.key + 1). [\(.value.title)](\(.value.url)) - \(.value.reactions.totalCount) 👍")
|
|
62
|
+
| join("\n")
|
|
63
|
+
')
|
|
64
|
+
|
|
65
|
+
# Create issue body
|
|
66
|
+
current_time=$(date -u +"%Y-%m-%d %H:%M:%S UTC")
|
|
67
|
+
|
|
68
|
+
{
|
|
69
|
+
echo "# 👍 Top Issues by Community Votes"
|
|
70
|
+
echo ""
|
|
71
|
+
echo "This list shows the most requested features and reported bugs for **teneo-agent-sdk**,"
|
|
72
|
+
echo "automatically updated every 6 hours based on 👍 reactions."
|
|
73
|
+
echo ""
|
|
74
|
+
echo "**Last updated:** $current_time"
|
|
75
|
+
echo ""
|
|
76
|
+
echo "## Top Issues"
|
|
77
|
+
echo ""
|
|
78
|
+
if [ -n "$sorted_issues" ]; then
|
|
79
|
+
echo "$sorted_issues"
|
|
80
|
+
else
|
|
81
|
+
echo "No issues found or all issues have 0 votes."
|
|
82
|
+
fi
|
|
83
|
+
echo ""
|
|
84
|
+
echo "---"
|
|
85
|
+
echo "💡 *Vote on issues by adding a 👍 reaction to help prioritize development*"
|
|
86
|
+
echo ""
|
|
87
|
+
echo "🤖 *Automatically updated by [GitHub Actions](.github/workflows/top-issue.yml)*"
|
|
88
|
+
} > /tmp/issue_body.md
|
|
89
|
+
|
|
90
|
+
# Update the tracking issue if ISSUE_NUMBER is set
|
|
91
|
+
if [ -n "$ISSUE_NUMBER" ]; then
|
|
92
|
+
echo "Updating tracking issue #$ISSUE_NUMBER..."
|
|
93
|
+
gh issue edit "$ISSUE_NUMBER" \
|
|
94
|
+
--repo "$REPO_OWNER/$REPO_NAME" \
|
|
95
|
+
--body-file /tmp/issue_body.md
|
|
96
|
+
echo "✅ Successfully updated top issues list!"
|
|
97
|
+
else
|
|
98
|
+
echo "📋 Top issues list (ISSUE_NUMBER not set, skipping update):"
|
|
99
|
+
cat /tmp/issue_body.md
|
|
100
|
+
echo ""
|
|
101
|
+
echo "💡 To enable automatic tracking, create an issue and set ISSUE_NUMBER in the workflow."
|
|
102
|
+
fi
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,75 @@ All notable changes to the Teneo Protocol SDK will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.2.0]
|
|
9
|
+
|
|
10
|
+
### Quote-Approve Payment Flow
|
|
11
|
+
|
|
12
|
+
Payments now use a quote-approve model. Instead of attaching payments blindly, the SDK requests a quote from the server first, then confirms with payment.
|
|
13
|
+
|
|
14
|
+
### ✨ Added
|
|
15
|
+
|
|
16
|
+
- **Quote-Approve Flow**
|
|
17
|
+
- `requestQuote(content, room)` - Request a quote without auto-approval
|
|
18
|
+
- `confirmQuote(taskId, options?)` - Confirm and pay for a quoted task
|
|
19
|
+
- `getPendingQuote(taskId)` - Get a pending quote by task ID
|
|
20
|
+
- New `QuoteResult` type with agent, pricing, and expiration info
|
|
21
|
+
|
|
22
|
+
- **New Message Types**
|
|
23
|
+
- `request_task` - Request a task quote from coordinator
|
|
24
|
+
- `task_quote` - Server response with pricing info
|
|
25
|
+
- `confirm_task` - Confirm and execute with payment
|
|
26
|
+
|
|
27
|
+
- **New Config Options**
|
|
28
|
+
- `autoApproveQuotes` - Auto-confirm quotes (default: `true`)
|
|
29
|
+
- `quoteTimeout` - Timeout for quote responses (default: `30000`ms)
|
|
30
|
+
|
|
31
|
+
- **New Schemas**
|
|
32
|
+
- `PricingInfoSchema` - Agent pricing metadata
|
|
33
|
+
- `RequestTaskMessageSchema`, `TaskQuoteMessageSchema`, `ConfirmTaskMessageSchema`
|
|
34
|
+
|
|
35
|
+
- **Factory Functions & Type Guards**
|
|
36
|
+
- `createRequestTask()`, `createConfirmTask()`
|
|
37
|
+
- `isTaskQuote()` type guard
|
|
38
|
+
|
|
39
|
+
### 🔄 Changed
|
|
40
|
+
|
|
41
|
+
- `sendMessage()` and `sendDirectCommand()` now use quote-approve flow by default
|
|
42
|
+
- Payments are always enabled - removed `paymentsEnabled` config option
|
|
43
|
+
- Payment client is set up automatically when `privateKey` is provided
|
|
44
|
+
- `withPayments()` builder no longer has `enabled` option
|
|
45
|
+
|
|
46
|
+
### 🗑️ Removed
|
|
47
|
+
|
|
48
|
+
- `paymentsEnabled` config option (payments always on)
|
|
49
|
+
- Legacy `validatePrice()` method (price check moved to `confirmQuote`)
|
|
50
|
+
- Legacy `attachPayment()` method (handled in `confirmQuote`)
|
|
51
|
+
- `setAgentRegistry()` method (no longer needed)
|
|
52
|
+
|
|
53
|
+
### 📚 Documentation
|
|
54
|
+
|
|
55
|
+
- Updated Payment Integration section with quote-approve examples
|
|
56
|
+
- Added Manual Quote Flow documentation
|
|
57
|
+
- Updated Environment Variables section
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## [2.1.0] - 2025-12-08
|
|
62
|
+
|
|
63
|
+
### ✨ Added
|
|
64
|
+
|
|
65
|
+
#### Automatic X402 Payment Signing
|
|
66
|
+
|
|
67
|
+
- SDK now auto-signs x402 payment headers when confirming tasks
|
|
68
|
+
- Uses PEAQ chain with USDC stablecoin for micropayments
|
|
69
|
+
- No manual payment encoding needed - just call `confirmTask({ taskId })`
|
|
70
|
+
|
|
71
|
+
### 📦 Dependencies
|
|
72
|
+
|
|
73
|
+
- Added `x402` library for payment signing support
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
8
77
|
## [2.0.0] - 2025-11-05
|
|
9
78
|
|
|
10
79
|
### 🎉 Major Release: Multi-Room & Agent Customization
|