@futdevpro/nts-dynamo 1.11.35 โ 1.11.37
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/main.yml +189 -234
- package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +3 -1
- package/build/_modules/discord-assistant/_services/dias.service-base.d.ts.map +1 -1
- package/build/_modules/discord-assistant/_services/dias.service-base.js +4 -2
- package/build/_modules/discord-assistant/_services/dias.service-base.js.map +1 -1
- package/build/_modules/discord-assistant-voiced/index.js +15 -12
- package/build/_modules/discord-assistant-voiced/index.js.map +1 -1
- package/build/_modules/discord-bot/_collections/dibo-operations.util.js +3 -3
- package/build/_modules/discord-bot/_collections/dibo-operations.util.js.map +1 -1
- package/build/_modules/discord-bot/_services/dibo-io.control-service.js +3 -3
- package/build/_modules/discord-bot/_services/dibo-io.control-service.js.map +1 -1
- package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts.map +1 -1
- package/build/_modules/discord-bot/_services/dibo-main.control-service.js +7 -3
- package/build/_modules/discord-bot/_services/dibo-main.control-service.js.map +1 -1
- package/build/_modules/discord-bot/index.js +7 -6
- package/build/_modules/discord-bot/index.js.map +1 -1
- package/build/_modules/oauth2/index.js +7 -6
- package/build/_modules/oauth2/index.js.map +1 -1
- package/build/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +0 -15
- package/build/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts.map +1 -1
- package/build/_modules/open-ai/_services/oai-llm-chat.service-base.js +31 -16
- package/build/_modules/open-ai/_services/oai-llm-chat.service-base.js.map +1 -1
- package/build/_modules/open-ai/_services/oai-llm.service-base.d.ts +0 -139
- package/build/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
- package/build/_modules/open-ai/_services/oai-llm.service-base.js +16 -16
- package/build/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
- package/build/_modules/open-ai/index.js +7 -6
- package/build/_modules/open-ai/index.js.map +1 -1
- package/build/_modules/socket/index.js +15 -12
- package/build/_modules/socket/index.js.map +1 -1
- package/build/_services/base/data.service.d.ts.map +1 -1
- package/build/_services/base/data.service.js +3 -0
- package/build/_services/base/data.service.js.map +1 -1
- package/build/_services/core/api.service.d.ts.map +1 -1
- package/build/_services/core/api.service.js +1 -1
- package/build/_services/core/api.service.js.map +1 -1
- package/build/_services/route/routing-module.service.d.ts.map +1 -1
- package/build/_services/route/routing-module.service.js +2 -1
- package/build/_services/route/routing-module.service.js.map +1 -1
- package/package.json +6 -5
- package/src/_modules/discord-assistant/_services/dias.service-base.ts +8 -2
- package/src/_modules/discord-assistant-voiced/index.ts +2 -2
- package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +3 -3
- package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +3 -3
- package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +16 -3
- package/src/_modules/discord-bot/index.ts +2 -2
- package/src/_modules/oauth2/index.ts +2 -2
- package/src/_modules/open-ai/_services/oai-llm-chat.service-base.ts +30 -16
- package/src/_modules/open-ai/_services/oai-llm.service-base.ts +16 -16
- package/src/_modules/open-ai/index.ts +2 -2
- package/src/_modules/socket/index.ts +2 -2
- package/src/_services/base/data.service.ts +6 -0
- package/src/_services/core/api.service.ts +5 -2
- package/src/_services/route/routing-module.service.ts +2 -1
- package/tsconfig.json +11 -11
- package/test.ts +0 -0
- package/test2.js +0 -1
- package/test2.ts +0 -0
|
@@ -19,131 +19,110 @@ env:
|
|
|
19
19
|
jobs:
|
|
20
20
|
notification0:
|
|
21
21
|
name: Discord start Notification
|
|
22
|
-
runs-on: ubuntu-latest
|
|
23
|
-
|
|
22
|
+
#runs-on: ubuntu-latest
|
|
23
|
+
runs-on: plo-koon
|
|
24
24
|
timeout-minutes: 20
|
|
25
25
|
outputs:
|
|
26
26
|
start: ${{ steps.mark_start.outputs.started }}
|
|
27
27
|
steps:
|
|
28
|
-
- uses: actions/checkout@
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
29
|
- id: mark_start
|
|
30
30
|
run: echo "started=$(date +%s)" >> "$GITHUB_OUTPUT"
|
|
31
|
-
- name:
|
|
32
|
-
uses:
|
|
31
|
+
- name: Send Discord start notification
|
|
32
|
+
uses: futdevpro/fdp-github-actions/discord-start-notification@latest
|
|
33
33
|
with:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
34
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
35
|
+
APPLICATION_NAME: "Dynamo-NTS"
|
|
36
|
+
APPLICATION_EMOJI: "๐ฝ"
|
|
37
|
+
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
|
38
|
+
EVENT_DATETIME: ${{ github.event.head_commit.timestamp }}
|
|
39
|
+
DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
40
|
+
DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
41
|
+
|
|
42
|
+
notification0_fail_report:
|
|
43
|
+
name: Discord Start Notification Fail Report
|
|
44
|
+
runs-on: ubuntu-latest
|
|
45
|
+
#runs-on: plo-koon
|
|
46
|
+
timeout-minutes: 20
|
|
47
|
+
if: always() && needs.notification0.result == 'failure'
|
|
48
|
+
needs: [notification0]
|
|
49
|
+
steps:
|
|
50
|
+
- name: send custom message with args
|
|
51
|
+
uses: appleboy/discord-action@master
|
|
52
|
+
with:
|
|
53
|
+
webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
54
|
+
webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
55
|
+
message: |
|
|
56
|
+
๐ฝโ Failed to send Discord start notification for ${{ github.repository }}! [๐](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
|
|
43
57
|
|
|
44
58
|
check_secrets:
|
|
45
|
-
name: Check Required Secrets
|
|
59
|
+
name: Check Required Secrets and Variables
|
|
46
60
|
#runs-on: ubuntu-latest
|
|
47
61
|
runs-on: plo-koon
|
|
48
62
|
timeout-minutes: 20
|
|
49
63
|
steps:
|
|
50
64
|
- name: Check Required Secrets and Variables
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
uses: futdevpro/fdp-github-actions/check-secrets-and-variables@latest
|
|
66
|
+
with:
|
|
67
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
68
|
+
ITEMS_TO_CHECK: |
|
|
69
|
+
[
|
|
70
|
+
{
|
|
71
|
+
"valueName": "NPM_TOKEN",
|
|
72
|
+
"value": "${{ secrets.NPM_TOKEN }}",
|
|
73
|
+
"type": "SECRET"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"valueName": "DISCORD_WEBHOOK_ID",
|
|
77
|
+
"value": "${{ secrets.DISCORD_WEBHOOK_ID }}",
|
|
78
|
+
"type": "SECRET"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"valueName": "DISCORD_WEBHOOK_TOKEN",
|
|
82
|
+
"value": "${{ secrets.DISCORD_WEBHOOK_TOKEN }}",
|
|
83
|
+
"type": "SECRET"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"valueName": "OVERSEER_SECRET_KEY",
|
|
87
|
+
"value": "${{ secrets.OVERSEER_SECRET_KEY }}",
|
|
88
|
+
"type": "SECRET"
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
{
|
|
92
|
+
"valueName": "OVERSEER_URL",
|
|
93
|
+
"value": "${{ vars.OVERSEER_URL }}",
|
|
94
|
+
"type": "VARIABLE"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
75
97
|
|
|
76
98
|
check_dev_leftovers:
|
|
77
99
|
name: Check Dev leftovers
|
|
100
|
+
needs: [check_secrets]
|
|
78
101
|
#runs-on: ubuntu-latest
|
|
79
102
|
runs-on: plo-koon
|
|
80
103
|
timeout-minutes: 20
|
|
81
104
|
steps:
|
|
82
105
|
- name: Checkout code
|
|
83
|
-
uses: actions/checkout@
|
|
106
|
+
uses: actions/checkout@v4
|
|
84
107
|
|
|
85
|
-
- name:
|
|
86
|
-
uses: actions/
|
|
108
|
+
- name: Check Dev Leftovers
|
|
109
|
+
uses: futdevpro/fdp-github-actions/check-dev-leftovers@latest
|
|
87
110
|
with:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (!files?.length) {
|
|
102
|
-
console.error(
|
|
103
|
-
'FDPError: ./build folder is MISSING!' +
|
|
104
|
-
'\nbuild the project locally before push!'
|
|
105
|
-
);
|
|
106
|
-
process.exit(1);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
if (files.includes('dynamo-nts')) {
|
|
110
|
-
console.error(
|
|
111
|
-
'FDPError: ./build copntains dynamo-nts folder which means this is a local dev build!' +
|
|
112
|
-
'\nrebuild the project locally before push!'
|
|
113
|
-
);
|
|
114
|
-
process.exit(1);
|
|
111
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
112
|
+
CHECKS_TO_PERFORM: |
|
|
113
|
+
[
|
|
114
|
+
{
|
|
115
|
+
"type": "TSCONFIG_PATHS",
|
|
116
|
+
"directory": "."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "PACKAGE_VERSIONS",
|
|
120
|
+
"directory": ".",
|
|
121
|
+
"packages": [
|
|
122
|
+
"@futdevpro/fsm-dynamo"
|
|
123
|
+
]
|
|
115
124
|
}
|
|
116
|
-
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
- name: Check tsconfig.json
|
|
120
|
-
run: |
|
|
121
|
-
node -e "
|
|
122
|
-
const fs = require('fs');
|
|
123
|
-
const tsconfigContent = fs.readFileSync('tsconfig.json', 'utf8');
|
|
124
|
-
const cleanedTsconfigContent = tsconfigContent.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g, '');
|
|
125
|
-
const tsconfig = JSON.parse(cleanedTsconfigContent);
|
|
126
|
-
|
|
127
|
-
if (
|
|
128
|
-
!tsconfig?.compilerOptions?.paths ||
|
|
129
|
-
Object.keys(tsconfig.compilerOptions.paths).length === 0
|
|
130
|
-
) {
|
|
131
|
-
console.log('compilerOptions.paths is either empty or not defined. Which is fine.');
|
|
132
|
-
} else {
|
|
133
|
-
console.error('Error: compilerOptions.paths is not an empty object!');
|
|
134
|
-
process.exit(1);
|
|
135
|
-
}
|
|
136
|
-
"
|
|
137
|
-
|
|
138
|
-
- name: Check FSM
|
|
139
|
-
run: |
|
|
140
|
-
FSM_LATEST=$(npm view @futdevpro/fsm-dynamo version)
|
|
141
|
-
FSM_THIS=$(node -p -e "require('./package.json').peerDependencies['@futdevpro/fsm-dynamo'].replace('^', '').replace('~', '')")
|
|
142
|
-
if [ "$FSM_LATEST" != "$FSM_THIS" ]; then
|
|
143
|
-
echo "FDPError: @futdevpro/fsm-dynamo is not latest! ($FSM_THIS)";
|
|
144
|
-
echo "Latest: $FSM_LATEST";
|
|
145
|
-
exit 1;
|
|
146
|
-
fi
|
|
125
|
+
]
|
|
147
126
|
|
|
148
127
|
test:
|
|
149
128
|
name: Test Build
|
|
@@ -276,155 +255,131 @@ jobs:
|
|
|
276
255
|
|
|
277
256
|
build_report:
|
|
278
257
|
name: Build Report
|
|
279
|
-
needs: [
|
|
280
|
-
|
|
281
|
-
|
|
258
|
+
needs: [
|
|
259
|
+
notification0,
|
|
260
|
+
check_dev_leftovers,
|
|
261
|
+
test,
|
|
262
|
+
check_version,
|
|
263
|
+
deploy
|
|
264
|
+
]
|
|
265
|
+
#runs-on: ubuntu-latest
|
|
266
|
+
runs-on: plo-koon
|
|
282
267
|
timeout-minutes: 20
|
|
283
268
|
if: always()
|
|
284
269
|
steps:
|
|
270
|
+
|
|
271
|
+
# NEW IMPLEMENTATION using futdevpro/fdp-github-actions/send-build-report@master:
|
|
285
272
|
- name: Checkout code
|
|
286
273
|
uses: actions/checkout@v2
|
|
287
|
-
|
|
288
|
-
- name:
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
- name: Wait for 30 seconds if overseer is not ready # to avoid sending report while builds and restarts are running
|
|
303
|
-
run: |
|
|
304
|
-
ATTEMPTS=0
|
|
305
|
-
MAX_ATTEMPTS=40
|
|
306
|
-
while true; do
|
|
307
|
-
OVERSEER_READY=$(curl -k -s -w "\n%{http_code}" -X GET ${{ vars.OVERSEER_URL }}/api/server/status --max-time 60)
|
|
308
|
-
HTTP_CODE=$(echo "$OVERSEER_READY" | tail -n1)
|
|
309
|
-
RESPONSE_BODY=$(echo "$OVERSEER_READY" | sed '$d')
|
|
310
|
-
echo "Overseer status check #$((ATTEMPTS+1)): HTTP $HTTP_CODE, response: $RESPONSE_BODY"
|
|
311
|
-
if [ "$HTTP_CODE" = "200" ]; then
|
|
312
|
-
echo "::debug::Overseer is ready"
|
|
313
|
-
break
|
|
314
|
-
fi
|
|
315
|
-
ATTEMPTS=$((ATTEMPTS+1))
|
|
316
|
-
if [ "$ATTEMPTS" -ge "$MAX_ATTEMPTS" ]; then
|
|
317
|
-
echo "::error::Overseer is not ready after 20 minutes, aborting"
|
|
318
|
-
exit 1
|
|
319
|
-
fi
|
|
320
|
-
echo "::warning::Overseer is not ready (HTTP $HTTP_CODE), waiting 1 minute before retrying..."
|
|
321
|
-
sleep 30
|
|
322
|
-
done
|
|
323
|
-
|
|
324
|
-
- name: Send Build Report to Overseer
|
|
325
|
-
run: |
|
|
326
|
-
# Calculate result based on job outcomes
|
|
327
|
-
if [ "${{ needs.check_dev_leftovers.result }}" == "success" ] && [ "${{ needs.check_dev_leftovers.result }}" == "success" ] && [ "${{ needs.test.result }}" == "success" ] && [ "${{ needs.check_version.result }}" == "success" ] && [ "${{ needs.deploy.result }}" != "failed" ]; then
|
|
328
|
-
RESULT="success"
|
|
329
|
-
else
|
|
330
|
-
RESULT="failed"
|
|
331
|
-
fi
|
|
332
|
-
|
|
333
|
-
RESPONSE=$(curl -k -s -w "\n%{http_code}" -X POST ${{ vars.OVERSEER_URL }}/api/build-report/new \
|
|
334
|
-
-H "Content-Type: application/json" \
|
|
335
|
-
-H "secret-key: ${{ secrets.OVERSEER_SECRET_KEY }}" \
|
|
336
|
-
-d '{
|
|
337
|
-
"project": "dynamo",
|
|
338
|
-
"system": "dynamo-nts",
|
|
339
|
-
"version": "${{ env.THIS_VERSION }}",
|
|
340
|
-
"environment": "prod",
|
|
341
|
-
"branch": "${{ github.ref_name }}",
|
|
342
|
-
"result": "'$RESULT'",
|
|
343
|
-
"linkToAction": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})",
|
|
344
|
-
"stepResults": [
|
|
345
|
-
{
|
|
346
|
-
"step": "Check Dev leftovers",
|
|
347
|
-
"result": "${{ needs.check_dev_leftovers.result }}",
|
|
348
|
-
"detailedResult": "${{ needs.check_dev_leftovers.outputs }}"
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
"step": "Test Build",
|
|
352
|
-
"result": "${{ needs.test.result }}",
|
|
353
|
-
"detailedResult": "${{ needs.test.outputs }}"
|
|
354
|
-
},
|
|
355
|
-
{
|
|
356
|
-
"step": "Check Version",
|
|
357
|
-
"result": "${{ needs.check_version.result }}",
|
|
358
|
-
"detailedResult": "${{ needs.check_version.outputs }}"
|
|
359
|
-
},
|
|
274
|
+
|
|
275
|
+
- name: Send Build Report
|
|
276
|
+
uses: futdevpro/fdp-github-actions/send-build-report@master
|
|
277
|
+
with:
|
|
278
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
279
|
+
SETTINGS: |
|
|
280
|
+
{
|
|
281
|
+
"overseerUrl": "${{ vars.OVERSEER_URL }}",
|
|
282
|
+
"overseerSecret": "${{ secrets.OVERSEER_SECRET_KEY }}",
|
|
283
|
+
"branchName": "${{ github.ref_name }}",
|
|
284
|
+
"repository": "${{ github.repository }}",
|
|
285
|
+
"runId": "${{ github.run_id }}",
|
|
286
|
+
"linkToAction": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
|
|
287
|
+
"eventDateTime": "${{ needs.notification0.outputs.start }}",
|
|
288
|
+
"projects": [
|
|
360
289
|
{
|
|
361
|
-
"
|
|
362
|
-
"
|
|
363
|
-
|
|
290
|
+
"environment": "prod",
|
|
291
|
+
"jobResults": [
|
|
292
|
+
{
|
|
293
|
+
"stepName": "checkDevLeftovers",
|
|
294
|
+
"result": "${{ needs.check_dev_leftovers.result }}",
|
|
295
|
+
"requirement": "optional"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"stepName": "tests",
|
|
299
|
+
"result": "${{ needs.test.result }}",
|
|
300
|
+
"requirement": "required"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"stepName": "checkVersion",
|
|
304
|
+
"result": "${{ needs.check_version.result }}",
|
|
305
|
+
"requirement": "required"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"stepName": "deploy",
|
|
309
|
+
"result": "${{ needs.deploy.result }}",
|
|
310
|
+
"requirement": "optional"
|
|
311
|
+
}
|
|
312
|
+
]
|
|
364
313
|
}
|
|
365
|
-
]
|
|
366
|
-
|
|
367
|
-
}'
|
|
368
|
-
)
|
|
369
|
-
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
|
|
370
|
-
RESPONSE_BODY=$(echo "$RESPONSE" | sed '$d')
|
|
371
|
-
echo "Build report sent to Overseer: HTTP $HTTP_CODE, response: $RESPONSE_BODY"
|
|
372
|
-
|
|
373
|
-
if [ "$HTTP_CODE" != "200" ]; then
|
|
374
|
-
echo "::error::Failed to send build report to Overseer: HTTP $HTTP_CODE, response: $RESPONSE_BODY"
|
|
375
|
-
echo "Response body:"
|
|
376
|
-
echo "$RESPONSE_BODY"
|
|
377
|
-
exit 1
|
|
378
|
-
fi
|
|
314
|
+
]
|
|
315
|
+
}
|
|
379
316
|
|
|
380
317
|
end:
|
|
381
318
|
name: Discord Results
|
|
382
|
-
needs: [
|
|
383
|
-
|
|
384
|
-
|
|
319
|
+
needs: [
|
|
320
|
+
notification0,
|
|
321
|
+
check_secrets,
|
|
322
|
+
check_dev_leftovers,
|
|
323
|
+
test,
|
|
324
|
+
check_version,
|
|
325
|
+
deploy,
|
|
326
|
+
build_report
|
|
327
|
+
]
|
|
328
|
+
#runs-on: ubuntu-latest
|
|
329
|
+
runs-on: plo-koon
|
|
385
330
|
timeout-minutes: 20
|
|
386
331
|
if: always()
|
|
387
332
|
steps:
|
|
388
333
|
- name: Checkout code
|
|
389
|
-
uses: actions/checkout@
|
|
390
|
-
|
|
391
|
-
- name:
|
|
392
|
-
|
|
393
|
-
RAW_THIS_VERSION=$(node -p -e "require('./package.json').version")
|
|
394
|
-
# replace ALL: 'v0' with '', '01' with '1', '.0' with '.'
|
|
395
|
-
RAW_THIS_VERSION=$(echo $RAW_THIS_VERSION | sed 's:v0::g' | sed 's:01:1:g' | sed -e 's:\.0:\.:g')
|
|
396
|
-
echo "THIS_VERSION=$RAW_THIS_VERSION" >> $GITHUB_ENV
|
|
397
|
-
|
|
398
|
-
- uses: actions/checkout@master
|
|
399
|
-
- id: duration
|
|
400
|
-
run: |
|
|
401
|
-
START_TIME=${{ needs.notification0.outputs.start }}
|
|
402
|
-
END_TIME=$(date +%s)
|
|
403
|
-
DIFF=$((END_TIME - START_TIME))
|
|
404
|
-
echo "human=$(printf '%dm %ds' $((DIFF/60)) $((DIFF%60)))" >> "$GITHUB_OUTPUT"
|
|
405
|
-
- name: send custom message with args
|
|
406
|
-
uses: appleboy/discord-action@master
|
|
334
|
+
uses: actions/checkout@v4
|
|
335
|
+
|
|
336
|
+
- name: Send Discord result notification
|
|
337
|
+
uses: futdevpro/fdp-github-actions/discord-result-notification@latest
|
|
407
338
|
with:
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
339
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
340
|
+
APPLICATION_NAME: "Dynamo-NTS"
|
|
341
|
+
APPLICATION_EMOJI: "๐ฝ"
|
|
342
|
+
BRANCH: ${{ github.ref_name }}
|
|
343
|
+
RUN_NUMBER: ${{ github.run_number }}
|
|
344
|
+
RUN_ID: ${{ github.run_id }}
|
|
345
|
+
REPOSITORY: ${{ github.repository }}
|
|
346
|
+
START_TIME: ${{ needs.notification0.outputs.start }}
|
|
347
|
+
STEPS_CONFIG: |
|
|
348
|
+
[
|
|
349
|
+
{
|
|
350
|
+
"stepName": "Secrets Check",
|
|
351
|
+
"emoji": "๐",
|
|
352
|
+
"result": "${{ needs.check_secrets.result }}"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"stepName": "Dev Leftovers Check",
|
|
356
|
+
"emoji": "๐",
|
|
357
|
+
"result": "${{ needs.check_dev_leftovers.result }}"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"stepName": "Test Build",
|
|
361
|
+
"emoji": "๐งช",
|
|
362
|
+
"result": "${{ needs.test.result }}"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"stepName": "Check Version",
|
|
366
|
+
"emoji": "๐",
|
|
367
|
+
"result": "${{ needs.check_version.result }}"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"stepName": "Deploy",
|
|
371
|
+
"emoji": "๐ฆ",
|
|
372
|
+
"result": "${{ needs.deploy.result }}",
|
|
373
|
+
"specialSuccessEmoji": "๐๐๐"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"stepName": "Build Report",
|
|
377
|
+
"emoji": "๐",
|
|
378
|
+
"result": "${{ needs.build_report.result }}"
|
|
379
|
+
}
|
|
380
|
+
]
|
|
381
|
+
DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
382
|
+
DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
428
383
|
|
|
429
384
|
|
|
430
385
|
|
|
@@ -11,7 +11,9 @@ export declare abstract class DyNTS_DiAs_ServiceBase extends DyNTS_DiBo_Main_Con
|
|
|
11
11
|
defaultSystemPrompt: string;
|
|
12
12
|
protected constructor(setupAutomatically?: boolean);
|
|
13
13
|
gatherDiscordMessagesForMessage(message: Message, limit?: number): Promise<Message[]>;
|
|
14
|
-
gatherDiscordMessagesForChannel(channel: TextChannel, userId: string, limit?: number
|
|
14
|
+
gatherDiscordMessagesForChannel(channel: TextChannel, userId: string, limit?: number,
|
|
15
|
+
/** If this is true, then we will add the sender's name to each message */
|
|
16
|
+
addSourceInfo?: boolean): Promise<Message[]>;
|
|
15
17
|
gatherMessagesAsOAIConversation(message: Message, issuer: string): Promise<DyNTS_OAI_GPT_Message[]>;
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=dias.service-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dias.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/discord-assistant/_services/dias.service-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AAGnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE,8BAAsB,sBAAuB,SAAQ,8BAA8B;IAEjF,wBAAwB,IAAI,6BAA6B;IAGzD,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAmC;IAErF,mBAA4B,QAAQ,EAAE,4BAA4B,CAAC;uBACvC,sBAAsB,IAAI,4BAA4B;IAElF,mBAAmB,EAAE,MAAM,CAAkD;IAE7E,SAAS,aACP,kBAAkB,CAAC,EAAE,OAAO;IASxB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI1F,+BAA+B,
|
|
1
|
+
{"version":3,"file":"dias.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/discord-assistant/_services/dias.service-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AAGnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE,8BAAsB,sBAAuB,SAAQ,8BAA8B;IAEjF,wBAAwB,IAAI,6BAA6B;IAGzD,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAmC;IAErF,mBAA4B,QAAQ,EAAE,4BAA4B,CAAC;uBACvC,sBAAsB,IAAI,4BAA4B;IAElF,mBAAmB,EAAE,MAAM,CAAkD;IAE7E,SAAS,aACP,kBAAkB,CAAC,EAAE,OAAO;IASxB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI1F,+BAA+B,CACnC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAY;IACnB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,OAAO,EAAE,CAAC;IAoBf,+BAA+B,CACnC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAUpC"}
|
|
@@ -20,10 +20,12 @@ class DyNTS_DiAs_ServiceBase extends dibo_main_control_service_1.DyNTS_DiBo_Main
|
|
|
20
20
|
async gatherDiscordMessagesForMessage(message, limit = 100) {
|
|
21
21
|
return this.gatherDiscordMessagesForChannel(message.channel, message.author.id, limit);
|
|
22
22
|
}
|
|
23
|
-
async gatherDiscordMessagesForChannel(channel, userId, limit = 100
|
|
23
|
+
async gatherDiscordMessagesForChannel(channel, userId, limit = 100,
|
|
24
|
+
/** If this is true, then we will add the sender's name to each message */
|
|
25
|
+
addSourceInfo) {
|
|
24
26
|
const messages = await channel.messages.fetch({ limit: limit }).then(messages => messages.filter(msg => !dias_global_settings_const_1.DyNTS_DiAs_global_settings.skipConversationMessagesFlags.some(flag => msg.content.includes(flag))).map(msg => msg) // this last part creates simple array from Discord Collection
|
|
25
27
|
);
|
|
26
|
-
if (messages.some(msg => ![this.botClientId, userId].includes(msg.author.id))) {
|
|
28
|
+
if (addSourceInfo && messages.some(msg => ![this.botClientId, userId].includes(msg.author.id))) {
|
|
27
29
|
messages.forEach(msg => {
|
|
28
30
|
msg.content = `**${msg.author.displayName}**: ${msg.content}`;
|
|
29
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dias.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/discord-assistant/_services/dias.service-base.ts"],"names":[],"mappings":";;;AAGA,qGAAuG;AACvG,iGAAkG;AAClG,2FAAwF;AACxF,uFAAoF;AAGpF,yDAA4D;AAI5D,MAAsB,sBAAuB,SAAQ,0DAA8B;IAEjF,wBAAwB;QACtB,OAAO,IAAI,yDAA6B,EAAE,CAAC;IAC7C,CAAC;IACQ,UAAU,GAAkC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAKrF,mBAAmB,GAAW,uDAA0B,CAAC,mBAAmB,CAAC;IAE7E,YACE,kBAA4B;QAE5B,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE1B,6CAAqB,CAAC,aAAa,KAAK,uDAA0B,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,OAAgB,EAAE,QAAgB,GAAG;QACzE,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,OAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,+BAA+B,
|
|
1
|
+
{"version":3,"file":"dias.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/discord-assistant/_services/dias.service-base.ts"],"names":[],"mappings":";;;AAGA,qGAAuG;AACvG,iGAAkG;AAClG,2FAAwF;AACxF,uFAAoF;AAGpF,yDAA4D;AAI5D,MAAsB,sBAAuB,SAAQ,0DAA8B;IAEjF,wBAAwB;QACtB,OAAO,IAAI,yDAA6B,EAAE,CAAC;IAC7C,CAAC;IACQ,UAAU,GAAkC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAKrF,mBAAmB,GAAW,uDAA0B,CAAC,mBAAmB,CAAC;IAE7E,YACE,kBAA4B;QAE5B,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE1B,6CAAqB,CAAC,aAAa,KAAK,uDAA0B,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,OAAgB,EAAE,QAAgB,GAAG;QACzE,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,OAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,OAAoB,EACpB,MAAc,EACd,QAAgB,GAAG;IACnB,0EAA0E;IAC1E,aAAuB;QAEvB,MAAM,QAAQ,GAAc,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAC7E,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CACzB,GAAG,CAAC,EAAE,CAAC,CAAC,uDAA0B,CAAC,6BAA6B,CAAC,IAAI,CACnE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACnC,CACF,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,8DAA8D;SACjF,CAAC;QAEF,IAAI,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACjG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACrB,GAAG,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAEjE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,OAAgB,EAChB,MAAc;QAEd,MAAM,QAAQ,GAAc,MAAM,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;QAEhF,OAAO,2BAAe,CAAC,uCAAuC,CAAC;YAC7D,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAjED,wDAiEC"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
console.log('โ @discordjs/opus package not found, please install it with: pnpm add @discordjs/opus');
|
|
2
|
+
/* try {
|
|
3
|
+
require.resolve('@discordjs/opus');
|
|
4
|
+
} catch (error) {
|
|
5
|
+
console.log(
|
|
6
|
+
'โ @discordjs/opus package not found, please install it with: pnpm add @discordjs/opus'
|
|
7
|
+
);
|
|
9
8
|
}
|
|
9
|
+
|
|
10
10
|
try {
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
require.resolve('@discordjs/voice');
|
|
12
|
+
} catch (error) {
|
|
13
|
+
console.log(
|
|
14
|
+
'โ @discordjs/voice package not found, please install it with: pnpm add @discordjs/voice'
|
|
15
|
+
);
|
|
16
|
+
} */
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const tslib_1 = require("tslib");
|
|
16
19
|
//
|
|
17
20
|
// Discord Assistant Voiced module
|
|
18
21
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/discord-assistant-voiced/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/discord-assistant-voiced/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;IAcI;;;AAGJ,EAAE;AACF,kCAAkC;AAClC,EAAE;AACF,2EAA2E;AAC3E,+DAA+D;AAC/D,EAAE;AAEF,eAAe;AACf,+DAAqC;AAGrC,WAAW;AACX,uFAA6D"}
|
|
@@ -35,13 +35,13 @@ class DyNTS_DiBo_Operations_Util {
|
|
|
35
35
|
`(v${global_settings_const_1.DyNTS_global_settings.systemVersion} ${global_settings_const_1.DyNTS_global_settings.env_settings?.environment})`;
|
|
36
36
|
if (lastReportMessage?.content === reportMessage) {
|
|
37
37
|
await this.deleteMessage(lastReportMessage).catch((error) => {
|
|
38
|
-
fsm_dynamo_1.
|
|
38
|
+
fsm_dynamo_1.DyFM_Error.logSimple('Failed to delete message', error);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
this.sendMessageToChannelByName(guild, dibo_global_settings_conts_1.DyNTS_DiBo_global_settings.channelSettings.reportChannelName, reportMessage);
|
|
42
42
|
}
|
|
43
43
|
catch (error) {
|
|
44
|
-
fsm_dynamo_1.
|
|
44
|
+
fsm_dynamo_1.DyFM_Error.logSimple('Failed to report in', error);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
static sendMessageToChannelByName(guild, channelName, message) {
|
|
@@ -254,7 +254,7 @@ class DyNTS_DiBo_Operations_Util {
|
|
|
254
254
|
}
|
|
255
255
|
static async deleteMessage(message) {
|
|
256
256
|
await message.delete().catch((error) => {
|
|
257
|
-
fsm_dynamo_1.
|
|
257
|
+
fsm_dynamo_1.DyFM_Error.logSimple('Failed to delete message', error);
|
|
258
258
|
});
|
|
259
259
|
fsm_dynamo_1.DyFM_Log.success('Message deleted:', message.content);
|
|
260
260
|
}
|