@yrpri/api 9.0.139 → 9.0.141
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/agents/assistants/agentAssistant.js +4 -3
- package/agents/assistants/baseAssistant.js +72 -71
- package/agents/assistants/baseAssistantWithVoice.js +6 -5
- package/agents/assistants/modes/agentDirectConnection.js +8 -7
- package/agents/assistants/modes/agentSelectionMode.js +2 -1
- package/agents/assistants/modes/baseAssistantMode.js +3 -2
- package/agents/assistants/modes/tools/agentTools.js +11 -10
- package/agents/assistants/modes/tools/loginTools.js +7 -6
- package/agents/assistants/modes/tools/models/agents.js +6 -5
- package/agents/assistants/modes/tools/models/subscriptions.js +7 -6
- package/agents/assistants/modes/tools/navigationTools.js +7 -6
- package/agents/assistants/modes/tools/subscriptionTools.js +12 -11
- package/agents/assistants/modes/tools/workflowConverstationTools.js +7 -6
- package/agents/assistants/voiceAssistant.js +45 -44
- package/agents/controllers/agentProductController.js +8 -7
- package/agents/controllers/agentSubscriptionController.js +13 -12
- package/agents/controllers/assistantsController.js +45 -44
- package/agents/controllers/policySynthAgents.js +33 -32
- package/agents/managers/emailInvitesManager.js +4 -3
- package/agents/managers/newAiModelSetup.js +46 -45
- package/agents/managers/notificationAgentQueueManager.js +55 -54
- package/agents/managers/subscriptionManager.js +24 -23
- package/agents/models/agentProduct.js +2 -1
- package/agents/models/agentProductBoosterPurchase.js +2 -1
- package/agents/models/testData/createEvolyAgentProduct.js +7 -6
- package/agents/models/testData/old/updateAgentWorkflowConfiguration.js +5 -4
- package/agents/models/testData/updateAgentWorkflowConfiguration.js +5 -4
- package/agents/tools/setTemplateWorkflowCommunityId.js +6 -5
- package/app.d.ts +2 -1
- package/app.js +60 -34
- package/authorization.cjs +4 -4
- package/controllers/allOurIdeas.js +45 -44
- package/controllers/groups.cjs +4 -9
- package/controllers/images.cjs +8 -8
- package/controllers/index.cjs +1 -1
- package/controllers/points.cjs +1 -1
- package/controllers/posts.cjs +3 -3
- package/deleteUnwantedDeclerations.cjs +6 -5
- package/models/community.cjs +1 -1
- package/models/domain.cjs +7 -7
- package/models/image.cjs +2 -2
- package/models/index.cjs +8 -4
- package/models/post.cjs +10 -10
- package/models/user.cjs +1 -1
- package/models/video.cjs +4 -4
- package/package.json +5 -5
- package/scripts/addRatingUsersToGroup.js +1 -1
- package/scripts/addUserToOrganization.js +8 -8
- package/scripts/agents/changeModelForWorkflowGroupTemplate.js +13 -12
- package/scripts/agents/generateAgentWorkflowTemplateFromAgentClass.js +5 -4
- package/scripts/analyseRatingsForCommunity.js +2 -2
- package/scripts/analyzeAndFixBrokenPointUsers.js +3 -3
- package/scripts/analyzeEndorsementsByCountry.js +7 -7
- package/scripts/analyzePostsForCommunity.js +1 -1
- package/scripts/bulkStatusUpdates/listUpdates.js +2 -2
- package/scripts/bulkStatusUpdates/mergeLatestPostsToUpdate.js +5 -5
- package/scripts/bulkStatusUpdates/performUpdate.js +9 -9
- package/scripts/bulkStatusUpdates/performUpdateForGroup.cjs +12 -11
- package/scripts/bulkStatusUpdates/performUpdateForStatus.js +15 -15
- package/scripts/change/changeVideoAspectTo.js +3 -3
- package/scripts/change/setUseNewVersion.cjs +5 -4
- package/scripts/changeCommunityGroupcount.js +3 -3
- package/scripts/changeCommunityPostCount.js +3 -3
- package/scripts/changeGroupPostCount.js +3 -3
- package/scripts/changeLanguage.js +4 -4
- package/scripts/changeOfficalStatus.js +3 -3
- package/scripts/cleanups/deleteAnonNotifications.cjs +8 -7
- package/scripts/cleanups/deleteLinkGroupsWithDeletedCommunities.js +8 -8
- package/scripts/cleanups/deleteYearOldNotifications.cjs +6 -5
- package/scripts/cleanups/removeAllUsersFromHiddenPublicGroup.js +5 -5
- package/scripts/clearAllEndorsementInGroup.js +5 -5
- package/scripts/cloning/clearUsersForCommunitiesFromUrl.js +3 -3
- package/scripts/cloning/cloneFromUrlScript.js +4 -4
- package/scripts/cloning/cloneWBFromUrlScriptAndCreateLinks.js +6 -6
- package/scripts/cloning/cloneWBFromUrlScriptNoUsersOrPoints.js +6 -6
- package/scripts/cloning/cloneWBSerbianFromUrlScriptAndCreateLinks.js +6 -6
- package/scripts/cloning/copyCommunityConfigAndTranslationsFromURL.js +3 -3
- package/scripts/cloning/copyCommunityOneGroupToDomainNoUsersNoEndorsements.js +2 -2
- package/scripts/cloning/copyCommunityToDomainNoUsersNoEndorsements.js +2 -2
- package/scripts/cloning/copyCommunityToDomainWithEverything.js +2 -2
- package/scripts/cloning/copyCommunityToDomainWithOnlyGroups.js +3 -3
- package/scripts/cloning/copyGroupConfigAndTranslationsFromURL.js +3 -3
- package/scripts/cloning/copyPostToGroupOld.js +12 -12
- package/scripts/cloning/copyPostVideosFromURL.js +3 -3
- package/scripts/cloning/copyPostWithOutAnyVotingOrActivities.js +2 -2
- package/scripts/cloning/deepCloneSerbianWBFromUrlScriptAndCreateLinks.js +7 -7
- package/scripts/cloning/deepCloneWBFromUrlScriptAndCreateLinks.js +6 -6
- package/scripts/cloning/setAdminsFromURL.js +5 -5
- package/scripts/cloning/setExternalIdsFromURL.js +3 -3
- package/scripts/countCommunity.js +11 -11
- package/scripts/countCommunityUsers.js +4 -4
- package/scripts/countDelayedNotifications.js +3 -3
- package/scripts/countGroup.js +11 -11
- package/scripts/countStuff.js +3 -3
- package/scripts/countUniqueVotersInAGroup.js +3 -3
- package/scripts/createInvitesAndShow.js +2 -2
- package/scripts/database/sync_database.js +2 -2
- package/scripts/database/sync_dev_database.js +3 -3
- package/scripts/debugNotifications.js +5 -5
- package/scripts/deleteAllNewsFeeds.js +2 -2
- package/scripts/deleteCategory.js +1 -1
- package/scripts/deleteOldAppActivities.js +5 -4
- package/scripts/deletePostContactDataForCommunity.js +5 -4
- package/scripts/destroy/destroy_all_but_one_domain.js +59 -59
- package/scripts/displayAuthorForPost.js +1 -1
- package/scripts/domains/createDomain.js +5 -4
- package/scripts/domains/importDomainsFromXls.js +7 -6
- package/scripts/endorsementFraudDetection/analyseEndorsementsForCommunity.js +2 -2
- package/scripts/endorsementFraudDetection/bulkDeleteDuplicateEndorsmentsFromUrl.js +9 -9
- package/scripts/exportAllStatusChanges.js +5 -5
- package/scripts/exportEndorsementsForCommunity.js +5 -5
- package/scripts/exportPointQualitiesForCommunity.js +5 -5
- package/scripts/exportPostsAndPointsForCommunity.js +9 -9
- package/scripts/exportPostsDataSetForDomain.js +12 -12
- package/scripts/exportPostsForGroup.js +7 -7
- package/scripts/exportRatingsForPost.js +2 -2
- package/scripts/exportUserEndorsementsWithUserAnalysis.js +6 -6
- package/scripts/exportUsersForCommunity.js +3 -3
- package/scripts/exportUsersForDomain.js +3 -3
- package/scripts/exportUsersForGroup.js +3 -3
- package/scripts/exports/ratingDistribution.js +6 -6
- package/scripts/exports/whoEndorsedWhatByCommunity.js +2 -2
- package/scripts/findUnusedClientImports.js +2 -2
- package/scripts/fixAllPostPointCounts.js +1 -1
- package/scripts/fixAnonNotificationsSettings.js +5 -5
- package/scripts/fixCountKopavogur.js +1 -1
- package/scripts/fixEndorsementsAfterCopyPostToGroup.js +10 -10
- package/scripts/fixExternalUserId.js +2 -2
- package/scripts/fixGroupAccess.js +3 -3
- package/scripts/fixGroupIdeasAndPointsCount.js +2 -2
- package/scripts/fixNotificationSettings.js +4 -4
- package/scripts/fixSurveyRadioBakedInSubCodes.js +6 -6
- package/scripts/fixWrongUserIdForStatusUpdates.js +6 -5
- package/scripts/gallery/exportGalleryData.js +2 -2
- package/scripts/gallery/importGalleryForCommunity.js +14 -14
- package/scripts/gallery/readJsonAndDownloadImagesVersion2.js +6 -6
- package/scripts/gallery/refreshAcApiPostIdsForCommunity.js +5 -5
- package/scripts/genderAnalysis.js +10 -10
- package/scripts/genderAnalysisByStatus.js +4 -4
- package/scripts/importAllLocalesFromLocalFolders.js +7 -7
- package/scripts/importDomain.js +131 -131
- package/scripts/keys/addOidcToDomain.cjs +10 -9
- package/scripts/landUseGame/export3Ddata.js +15 -15
- package/scripts/listLanguagesForGroup.js +6 -6
- package/scripts/loadTestCreateDummyContentForGroup.js +2 -2
- package/scripts/makeRecursiveMapData.js +4 -4
- package/scripts/mapping/community_map_csv.js +5 -5
- package/scripts/moveCommunityToDomain.js +3 -3
- package/scripts/moveGroupToCommunity.js +3 -3
- package/scripts/movePostToGroup.js +5 -5
- package/scripts/movePostsToGroupsRecountGroupFromUrl.js +6 -6
- package/scripts/oldMovePostToGroup.js +9 -9
- package/scripts/processCsvForPdfUrls.js +2 -2
- package/scripts/processCsvForTranslationAndToxicity.js +10 -10
- package/scripts/recount/recount_recursive_communities.js +6 -6
- package/scripts/recountALLCommunityGroupCounts.js +4 -4
- package/scripts/recountAll.js +3 -3
- package/scripts/recountCommunitesFromUrl.js +3 -3
- package/scripts/recountCommunity.js +2 -2
- package/scripts/recountGroup.js +5 -5
- package/scripts/recountGroupNoUserChange.js +5 -5
- package/scripts/resetAllEndorsementsForGroup.js +3 -3
- package/scripts/resetEnTranslationForGroup.js +5 -5
- package/scripts/setAdminOnAll.cjs +15 -14
- package/scripts/setDomainAdmin.cjs +7 -6
- package/scripts/setDomainLocales.js +2 -2
- package/scripts/setEarlQuestionIdOnGroup.cjs +5 -4
- package/scripts/setLanguageOnGroupCommunitesFromUrl.js +3 -3
- package/scripts/setMemberOfAll.js +14 -14
- package/scripts/setNewUserForContentOfCommunity.js +9 -9
- package/scripts/setOfficialStatusOnAllPostsForCommunity.js +1 -1
- package/scripts/setUserOnAll.js +14 -14
- package/scripts/showCategoryForGroup.js +1 -1
- package/scripts/showOldActivityTypes.js +3 -3
- package/scripts/showPostsMissingCategoryForGroup.js +2 -2
- package/scripts/showStatuses.js +4 -4
- package/scripts/showUniqueVotersInCommunity.js +4 -4
- package/scripts/showUserAgentsAndIpsForEmails.js +4 -4
- package/scripts/simpleExportForGroupsForCommunity.js +5 -5
- package/scripts/simpleExportForPointsForCommunity.js +5 -5
- package/scripts/simpleExportForPostsForCommunity.js +5 -5
- package/scripts/testForEndorsments.js +4 -4
- package/scripts/undeleteGroupAndAllContent.js +8 -8
- package/scripts/undeletePost.js +7 -7
- package/scripts/unlinkSsn.js +4 -4
- package/scripts/updateFromAlthingi.js +8 -8
- package/scripts/users/createUserAddDomain.js +6 -5
- package/scripts/users/importUsersForDomainsFromXls.js +4 -3
- package/scripts/users/listDomainUsersWithSsn.js +6 -5
- package/scripts/users/removeUserFromDomain.js +6 -5
- package/scripts/users/updatePasswordFromSsn.js +5 -4
- package/scripts/users/updateUserSsnFromEmail.js +5 -4
- package/services/controllers/activities.cjs +1 -1
- package/services/controllers/news_feeds.cjs +1 -1
- package/services/controllers/notifications.cjs +1 -1
- package/services/controllers/recommendations.cjs +1 -1
- package/services/engine/allOurIdeas/aiHelper.js +10 -9
- package/services/engine/analytics/export_anon_community_activities.js +3 -3
- package/services/engine/analytics/importer.js +10 -10
- package/services/engine/analytics/plausible/manager.cjs +4 -4
- package/services/engine/analytics/statsCalc.cjs +1 -1
- package/services/engine/analytics/utils.cjs +11 -10
- package/services/engine/marketing/campaign.cjs +1 -0
- package/services/engine/moderation/fraud/CreateFraudAuditReport.cjs +2 -1
- package/services/engine/moderation/fraud/FraudBase.cjs +3 -2
- package/services/engine/moderation/fraud/FraudDeleteBase.cjs +5 -4
- package/services/engine/moderation/fraud/FraudGetBase.cjs +2 -1
- package/services/engine/moderation/fraud/FraudGetEndorsements.cjs +2 -1
- package/services/engine/moderation/fraud/FraudGetPointQualities.cjs +2 -1
- package/services/engine/moderation/fraud/FraudGetPoints.cjs +2 -1
- package/services/engine/moderation/fraud/FraudGetPosts.cjs +2 -1
- package/services/engine/moderation/fraud/FraudGetRatings.cjs +2 -1
- package/services/engine/moderation/fraud/FraudScannerNotifier.cjs +10 -9
- package/services/engine/moderation/get_moderation_items.cjs +1 -1
- package/services/engine/moderation/image_labeling/ImageLabelingBase.cjs +1 -1
- package/services/engine/moderation/process_moderation_items.cjs +1 -1
- package/services/engine/moderation/toxicity_analysis.cjs +1 -1
- package/services/engine/news_feeds/generate_dynamically.cjs +1 -1
- package/services/engine/news_feeds/generate_from_notifications.cjs +1 -1
- package/services/engine/notifications/emails_utils.cjs +2 -2
- package/services/engine/notifications/generate_point_notifications.cjs +1 -1
- package/services/engine/notifications/generate_post_notifications.cjs +1 -1
- package/services/engine/notifications/process_delayed_notifications.cjs +38 -38
- package/services/engine/notifications/process_general_notifications.cjs +1 -0
- package/services/engine/old/exporters/categories_dataset.js +11 -11
- package/services/engine/old/exporters/sentiment_dataset.js +12 -12
- package/services/engine/recommendations/events_importer.cjs +5 -5
- package/services/engine/recommendations/events_manager.cjs +1 -1
- package/services/engine/reports/add_points_to_sheet.cjs +3 -2
- package/services/engine/reports/commonUtils.js +3 -2
- package/services/engine/reports/common_utils.cjs +8 -8
- package/services/engine/reports/docx_group_report.cjs +1 -1
- package/services/engine/reports/xlsAllOurIdeasExport.js +16 -15
- package/services/engine/reports/xls_community_users_report.cjs +2 -2
- package/services/engine/reports/xls_group_report.cjs +1 -1
- package/services/llms/baseChatBot.js +12 -11
- package/services/llms/imageGeneration/chatGptImageGenerator.js +3 -2
- package/services/llms/imageGeneration/collectionImageGenerator.js +7 -6
- package/services/llms/imageGeneration/dalleImageGenerator.js +6 -5
- package/services/llms/imageGeneration/fluxImageGenerator.js +5 -4
- package/services/llms/imageGeneration/imageProcessorService.js +2 -1
- package/services/llms/imageGeneration/imagenImageGenerator.js +8 -7
- package/services/llms/imageGeneration/s3Service.js +12 -11
- package/services/llms/llmTranslation.js +30 -29
- package/services/models/ac_activity.cjs +1 -1
- package/services/models/ac_notification.cjs +1 -1
- package/services/models/ac_translation_cache.cjs +11 -11
- package/services/scripts/analytics/setup_all_plausible_goals.cjs +3 -2
- package/services/scripts/fix_old_delayed_notifications.js +3 -3
- package/services/scripts/kue_status.js +11 -11
- package/services/scripts/kue_watch_stuck_jobs.js +6 -6
- package/services/scripts/translation_clear_language.js +21 -21
- package/services/scripts/translation_delete.js +4 -4
- package/services/scripts/translation_replace_text_from_url.js +4 -4
- package/services/scripts/translation_update.js +4 -4
- package/services/scripts/translations_list.js +5 -5
- package/services/utils/airbrake.cjs +2 -1
- package/services/utils/redisConnection.cjs +6 -5
- package/services/utils/translation_helpers.cjs +3 -2
- package/services/utils/updateAllLocalesFromEn.js +20 -19
- package/services/utils/updateLocaleFolders.js +7 -6
- package/services/workers/activity.cjs +1 -1
- package/services/workers/anonymizations.cjs +1 -1
- package/services/workers/bulk_status_update.cjs +2 -2
- package/services/workers/delayed_jobs.cjs +1 -1
- package/services/workers/deletions.cjs +1 -1
- package/services/workers/email.cjs +1 -1
- package/services/workers/fraud_management.cjs +3 -3
- package/services/workers/generativeAi.js +6 -5
- package/services/workers/main.cjs +1 -1
- package/services/workers/marketing.cjs +1 -1
- package/services/workers/moderation.cjs +1 -1
- package/services/workers/notification_delivery.cjs +1 -1
- package/services/workers/notification_news_feed.cjs +1 -1
- package/services/workers/queue.cjs +2 -2
- package/services/workers/recount.cjs +1 -1
- package/services/workers/reports.cjs +1 -1
- package/services/workers/similarities.cjs +4 -2
- package/services/workers/speech_to_text.cjs +1 -1
- package/utils/airbrake.cjs +2 -1
- package/utils/cjsCodeReview.js +7 -6
- package/utils/community_mapping_tools.cjs +3 -2
- package/utils/copy_utils.cjs +32 -31
- package/utils/export_utils.cjs +7 -7
- package/utils/generateDocumentation.js +10 -9
- package/utils/logger.cjs +2 -23
- package/utils/logger.d.cts +1 -1
- package/utils/loggerAirbrakeTransport.cjs +52 -0
- package/utils/loggerAirbrakeTransport.d.cts +15 -0
- package/utils/loggerAirbrakeTransportTs.d.ts +15 -0
- package/utils/loggerAirbrakeTransportTs.js +45 -0
- package/utils/loggerCore.cjs +29 -0
- package/utils/loggerCore.d.cts +2 -0
- package/utils/loggerCoreTs.d.ts +2 -0
- package/utils/loggerCoreTs.js +23 -0
- package/utils/loggerTs.d.ts +1 -2
- package/utils/loggerTs.js +2 -25
- package/utils/manifest_generator.cjs +1 -0
- package/utils/recount_utils.cjs +6 -5
- package/utils/seedModels.js +50 -49
- package/utils/sitemap_generator.cjs +4 -4
- package/utils/ypLanguages.js +2 -2
- package/webSockets.js +8 -7
- package/services/utils/logger.cjs +0 -25
- package/services/utils/logger.d.cts +0 -2
- package/src/agents/assistants/assistant.d.ts +0 -156
- package/src/controllers/audios.d.ts +0 -5
- package/src/controllers/categories.d.ts +0 -5
- package/src/controllers/communities.d.ts +0 -5
- package/src/controllers/domains.d.ts +0 -5
- package/src/controllers/groups.d.ts +0 -5
- package/src/controllers/images.d.ts +0 -5
- package/src/controllers/points.d.ts +0 -5
- package/src/controllers/posts.d.ts +0 -5
- package/src/controllers/ratings.d.ts +0 -5
- package/src/controllers/users.d.ts +0 -5
- package/src/controllers/videos.d.ts +0 -5
- package/src/models/index.d.ts +0 -84
- package/src/services/controllers/activities.d.ts +0 -5
- package/src/services/controllers/notifications.d.ts +0 -5
- package/src/utils/copy_utils.d.ts +0 -4
- package/src/utils/manifest_generator.d.ts +0 -18
package/models/post.cjs
CHANGED
|
@@ -212,10 +212,10 @@ module.exports = (sequelize, DataTypes) => {
|
|
|
212
212
|
};
|
|
213
213
|
Post.addFullTextIndex = () => {
|
|
214
214
|
if (sequelize.options.dialect !== 'postgres') {
|
|
215
|
-
|
|
215
|
+
log.info('Not creating search index, must be using POSTGRES to do this');
|
|
216
216
|
return;
|
|
217
217
|
}
|
|
218
|
-
|
|
218
|
+
log.debug("Adding full text index");
|
|
219
219
|
const searchFields = ['name', 'description'];
|
|
220
220
|
const vectorName = sequelize.models.Post.getSearchVector();
|
|
221
221
|
sequelize.queryInterface.describeTable("posts").then((data) => {
|
|
@@ -223,30 +223,30 @@ module.exports = (sequelize, DataTypes) => {
|
|
|
223
223
|
sequelize
|
|
224
224
|
.query('ALTER TABLE "' + sequelize.models.Post.tableName + '" ADD COLUMN "' + vectorName + '" TSVECTOR')
|
|
225
225
|
.then(() => {
|
|
226
|
-
|
|
226
|
+
log.info("addFullTextIndex: 1");
|
|
227
227
|
return sequelize
|
|
228
228
|
.query('UPDATE "' + sequelize.models.Post.tableName + '" SET "' + vectorName + '" = to_tsvector(\'english\', ' + searchFields.join(' || \' \' || ') + ')');
|
|
229
229
|
}).then(() => {
|
|
230
|
-
|
|
230
|
+
log.info("addFullTextIndex: 2");
|
|
231
231
|
return sequelize
|
|
232
232
|
.query('CREATE INDEX post_search_idx ON "' + sequelize.models.Post.tableName + '" USING gin("' + vectorName + '");');
|
|
233
233
|
}).then(() => {
|
|
234
|
-
|
|
234
|
+
log.info("addFullTextIndex: 3");
|
|
235
235
|
return sequelize
|
|
236
236
|
.query('CREATE TRIGGER post_vector_update BEFORE INSERT OR UPDATE ON "' + sequelize.models.Post.tableName + '" FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger("' + vectorName + '", \'pg_catalog.english\', ' + searchFields.join(', ') + ')');
|
|
237
237
|
}).catch(error => {
|
|
238
|
-
|
|
238
|
+
log.info(error);
|
|
239
239
|
});
|
|
240
240
|
}
|
|
241
241
|
else {
|
|
242
|
-
log.
|
|
242
|
+
log.debug("PostText search index is already setup");
|
|
243
243
|
}
|
|
244
244
|
});
|
|
245
245
|
};
|
|
246
246
|
Post.search = (query, groupId, modelCategory) => {
|
|
247
|
-
|
|
247
|
+
log.info("In search for " + query);
|
|
248
248
|
if (sequelize.options.dialect !== 'postgres') {
|
|
249
|
-
|
|
249
|
+
log.info('Search is only implemented on POSTGRES database');
|
|
250
250
|
return;
|
|
251
251
|
}
|
|
252
252
|
if (query) {
|
|
@@ -254,7 +254,7 @@ module.exports = (sequelize, DataTypes) => {
|
|
|
254
254
|
term = term.replace(/'/g, "''"); // Escape single quotes
|
|
255
255
|
return term + ':*';
|
|
256
256
|
}).join(' & ');
|
|
257
|
-
|
|
257
|
+
log.info("Using tsQuery: " + tsQuery);
|
|
258
258
|
return sequelize.models.Post.findAll({
|
|
259
259
|
order: [
|
|
260
260
|
["created_at", "DESC"],
|
package/models/user.cjs
CHANGED
|
@@ -587,7 +587,7 @@ module.exports = (sequelize, DataTypes) => {
|
|
|
587
587
|
User.prototype.validatePassword = function (password, done) {
|
|
588
588
|
let verified = this.encrypted_password ? bcrypt.compareSync(password, this.encrypted_password) : null;
|
|
589
589
|
if (verified) {
|
|
590
|
-
|
|
590
|
+
log.info(`User ${this.id} has verified password`);
|
|
591
591
|
done(null, this);
|
|
592
592
|
}
|
|
593
593
|
else {
|
package/models/video.cjs
CHANGED
|
@@ -580,7 +580,7 @@ module.exports = (sequelize, DataTypes) => {
|
|
|
580
580
|
}
|
|
581
581
|
}
|
|
582
582
|
else {
|
|
583
|
-
|
|
583
|
+
log.error("Can't find collection for Ziggeo video");
|
|
584
584
|
}
|
|
585
585
|
resolve();
|
|
586
586
|
});
|
|
@@ -606,7 +606,7 @@ module.exports = (sequelize, DataTypes) => {
|
|
|
606
606
|
resolve();
|
|
607
607
|
}
|
|
608
608
|
catch (error) {
|
|
609
|
-
|
|
609
|
+
log.error(error);
|
|
610
610
|
res.sendStatus(500);
|
|
611
611
|
reject();
|
|
612
612
|
}
|
|
@@ -830,11 +830,11 @@ module.exports = (sequelize, DataTypes) => {
|
|
|
830
830
|
}
|
|
831
831
|
log.info("foramts", { formats });
|
|
832
832
|
await mediaManager.deleteMediaFormatsUrls(formats);
|
|
833
|
-
|
|
833
|
+
log.info("Deleted video", { videoId: req.params.videoId });
|
|
834
834
|
res.sendStatus(200);
|
|
835
835
|
}
|
|
836
836
|
catch (error) {
|
|
837
|
-
|
|
837
|
+
log.error("Could not delete video", { error, video });
|
|
838
838
|
res.sendStatus(500);
|
|
839
839
|
}
|
|
840
840
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yrpri/api",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.141",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Robert Bjarnason & Citizens Foundation",
|
|
6
6
|
"repository": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@google-cloud/vertexai": "^1.10.0",
|
|
26
26
|
"@google-cloud/vision": "^5.1.0",
|
|
27
27
|
"@node-saml/passport-saml": "^5.0.1",
|
|
28
|
-
"@policysynth/agents": "^1.3.
|
|
28
|
+
"@policysynth/agents": "^1.3.111",
|
|
29
29
|
"async": "^3.2.6",
|
|
30
30
|
"authorized": "^1.0.0",
|
|
31
31
|
"aws-sdk": "^2.1692.0",
|
|
@@ -138,12 +138,12 @@
|
|
|
138
138
|
"publish_live": "npm run build:dev;npm pack && node repack && node publish.js https://registry.npmjs.org/",
|
|
139
139
|
"publish_local": "npm run build;npm pack && node repack && node publish.js http://localhost:4873",
|
|
140
140
|
"start": "nodemon -e ts ts-out/server.js",
|
|
141
|
-
"watch-start": "DEBUG=router:* tsc --
|
|
141
|
+
"watch-start": "DEBUG=router:* tsc --outDir ./ts-out -w & nodemon -q ./ts-out/server.js",
|
|
142
142
|
"dev": "nodemon --config nodemon.json ./ts-out/server.js",
|
|
143
143
|
"heroku-postbuild": "echo 'Skipping build'",
|
|
144
144
|
"dev:debug": "nodemon --config nodemon.json --inspect-brk api_app.ts",
|
|
145
|
-
"build": "tsc --
|
|
146
|
-
"build:dev": "tsc
|
|
145
|
+
"build": "tsc --outDir ./dist && ncp src/views dist/views && ncp config dist/config && ncp src/services/email_templates dist/services/email_templates && ncp src/services/locales dist/services/locales",
|
|
146
|
+
"build:dev": "tsc --outDir ./ts-out && ncp src/views ts-out/views && ncp config ts-out/config && ncp src/services/email_templates ts-out/services/email_templates && ncp src/services/locales ts-out/services/locales"
|
|
147
147
|
},
|
|
148
148
|
"cacheDirectories": [
|
|
149
149
|
"node_modules"
|
|
@@ -48,23 +48,23 @@ var getOrganizationAndUser = function (organizationId, userId, callback) {
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
};
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
log.info(userIdArg);
|
|
52
|
+
log.info(organizationIdArg);
|
|
53
53
|
getOrganizationAndUser(organizationIdArg, userIdArg, function (error, organization, user) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
log.info(error);
|
|
55
|
+
log.info(user);
|
|
56
|
+
log.info(organization);
|
|
57
57
|
if (error) {
|
|
58
|
-
|
|
58
|
+
log.error(error);
|
|
59
59
|
}
|
|
60
60
|
else if (user && organization) {
|
|
61
61
|
organization.addOrganizationUsers(user).then(function (results) {
|
|
62
|
-
|
|
62
|
+
log.info("Completed");
|
|
63
63
|
process.exit();
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
|
-
|
|
67
|
+
log.error("Not found");
|
|
68
68
|
process.exit();
|
|
69
69
|
}
|
|
70
70
|
});
|
|
@@ -2,15 +2,16 @@ import { initializeModels, PsAgent, PsAiModel, } from "@policysynth/agents/dbMod
|
|
|
2
2
|
import { PsAiModelSize, PsAiModelType, } from "@policysynth/agents/aiModelTypes.js";
|
|
3
3
|
import models from "../../models/index.cjs";
|
|
4
4
|
import { NewAiModelSetup } from "../../agents/managers/newAiModelSetup.js";
|
|
5
|
+
import log from "../../utils/loggerTs.js";
|
|
5
6
|
(async () => {
|
|
6
7
|
const [groupIdArg, sizeArg, typeArg, modelNameArg] = process.argv.slice(2);
|
|
7
8
|
if (!groupIdArg || !sizeArg || !typeArg || !modelNameArg) {
|
|
8
|
-
|
|
9
|
+
log.error("Usage: ts-node changeModelForWorkflowGroupTemplate.ts <groupId> <modelSize (small, medium, large)> <modeltype: text, textReasoning> <model_name>");
|
|
9
10
|
process.exit(1);
|
|
10
11
|
}
|
|
11
12
|
const groupId = Number(groupIdArg);
|
|
12
13
|
if (isNaN(groupId)) {
|
|
13
|
-
|
|
14
|
+
log.error("groupId must be a number");
|
|
14
15
|
process.exit(1);
|
|
15
16
|
}
|
|
16
17
|
const sizeMap = {
|
|
@@ -25,11 +26,11 @@ import { NewAiModelSetup } from "../../agents/managers/newAiModelSetup.js";
|
|
|
25
26
|
const size = sizeMap[sizeArg.toLowerCase()];
|
|
26
27
|
const modelType = typeMap[typeArg.toLowerCase()];
|
|
27
28
|
if (!size) {
|
|
28
|
-
|
|
29
|
+
log.error("modelSize must be one of small, medium or large");
|
|
29
30
|
process.exit(1);
|
|
30
31
|
}
|
|
31
32
|
if (!modelType) {
|
|
32
|
-
|
|
33
|
+
log.error("modeltype must be text or textReasoning");
|
|
33
34
|
process.exit(1);
|
|
34
35
|
}
|
|
35
36
|
try {
|
|
@@ -64,20 +65,20 @@ import { NewAiModelSetup } from "../../agents/managers/newAiModelSetup.js";
|
|
|
64
65
|
await NewAiModelSetup.setupApiKeysForGroup(group);
|
|
65
66
|
const privateConfig = (group.private_access_configuration ?? []);
|
|
66
67
|
for (const agent of subAgents) {
|
|
67
|
-
|
|
68
|
+
log.info(`Updating agent ${agent.id} to use model ${newModel.name}`);
|
|
68
69
|
const currentModels = await agent.getAiModels();
|
|
69
|
-
|
|
70
|
+
log.info(`Current models: ${currentModels.length}`);
|
|
70
71
|
for (const current of currentModels) {
|
|
71
72
|
const cfg = current.configuration || {};
|
|
72
73
|
if (cfg.modelSize === size && cfg.type === modelType) {
|
|
73
74
|
await agent.removeAiModel(current);
|
|
74
75
|
const entry = privateConfig.find((p) => p.aiModelId === current.id);
|
|
75
76
|
if (entry) {
|
|
76
|
-
|
|
77
|
+
log.info(`Updating entry ${entry.id} to use model ${newModel.name}`);
|
|
77
78
|
entry.aiModelId = newModel.id;
|
|
78
79
|
}
|
|
79
80
|
else {
|
|
80
|
-
|
|
81
|
+
log.info(`Adding entry for agent ${agent.id} to use model ${newModel.name}`);
|
|
81
82
|
privateConfig.push({
|
|
82
83
|
aiModelId: newModel.id,
|
|
83
84
|
agentId: agent.id,
|
|
@@ -85,19 +86,19 @@ import { NewAiModelSetup } from "../../agents/managers/newAiModelSetup.js";
|
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
else {
|
|
88
|
-
|
|
89
|
+
log.info(`Skipping model ${current.name} for agent ${agent.id} because it does not match size ${size} and type ${modelType}`);
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
92
|
await agent.addAiModel(newModel);
|
|
92
|
-
|
|
93
|
+
log.info(`Updated agent ${agent.id} to use model ${newModel.name}`);
|
|
93
94
|
}
|
|
94
95
|
group.set("private_access_configuration", privateConfig);
|
|
95
96
|
group.changed("private_access_configuration", true);
|
|
96
97
|
await group.save();
|
|
97
|
-
|
|
98
|
+
log.info(`Group ${groupId} updated successfully`);
|
|
98
99
|
}
|
|
99
100
|
catch (error) {
|
|
100
|
-
|
|
101
|
+
log.error(error);
|
|
101
102
|
}
|
|
102
103
|
finally {
|
|
103
104
|
await models.sequelize.close();
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { initializeModels, PsAgentClass, PsAgent, PsAiModel, } from "@policysynth/agents/dbModels/index.js";
|
|
2
2
|
import models from "../../models/index.cjs";
|
|
3
3
|
import { NewAiModelSetup } from "../../agents/managers/newAiModelSetup.js";
|
|
4
|
+
import log from "../../utils/loggerTs.js";
|
|
4
5
|
(async () => {
|
|
5
6
|
const [domainIdArg, agentClassIdArg] = process.argv.slice(2);
|
|
6
7
|
if (!domainIdArg || !agentClassIdArg) {
|
|
7
|
-
|
|
8
|
+
log.error("Usage: ts-node generateAgentWorkflowTemplateFromAgentClass.ts <domainId> <psAgentClassId>");
|
|
8
9
|
process.exit(1);
|
|
9
10
|
}
|
|
10
11
|
const domainId = Number(domainIdArg);
|
|
11
12
|
const agentClassId = Number(agentClassIdArg);
|
|
12
13
|
if (isNaN(domainId) || isNaN(agentClassId)) {
|
|
13
|
-
|
|
14
|
+
log.error("Both domainId and psAgentClassId must be valid numbers");
|
|
14
15
|
process.exit(1);
|
|
15
16
|
}
|
|
16
17
|
try {
|
|
@@ -95,10 +96,10 @@ import { NewAiModelSetup } from "../../agents/managers/newAiModelSetup.js";
|
|
|
95
96
|
else {
|
|
96
97
|
throw new Error("Gemini 2.0 Flash model not found");
|
|
97
98
|
}
|
|
98
|
-
|
|
99
|
+
log.info(`Created community ${community.id}, group ${group.id}, top-level agent ${topLevelAgent.id}, working agent ${psAgent.id}`);
|
|
99
100
|
}
|
|
100
101
|
catch (error) {
|
|
101
|
-
|
|
102
|
+
log.error(error);
|
|
102
103
|
}
|
|
103
104
|
finally {
|
|
104
105
|
await models.sequelize.close();
|
|
@@ -6,11 +6,11 @@ models.Point.findAll({
|
|
|
6
6
|
models.PointRevision
|
|
7
7
|
]
|
|
8
8
|
}).then(function (points) {
|
|
9
|
-
|
|
9
|
+
log.info("Points count " + points.length);
|
|
10
10
|
var counter = 0;
|
|
11
11
|
async.eachSeries(points, function (point, callback) {
|
|
12
12
|
if (point.user_id != point.PointRevisions[0].user_id) {
|
|
13
|
-
|
|
13
|
+
log.info("Not matching for post_id " + point.post_id + " Revision count " + point.PointRevisions.length + " date" + point.created_at);
|
|
14
14
|
counter += 1;
|
|
15
15
|
point.user_id = point.PointRevisions[0].user_id;
|
|
16
16
|
point.save().then(function () {
|
|
@@ -21,7 +21,7 @@ models.Point.findAll({
|
|
|
21
21
|
callback();
|
|
22
22
|
}
|
|
23
23
|
}, function () {
|
|
24
|
-
|
|
24
|
+
log.info("Done, counted " + counter);
|
|
25
25
|
process.exit();
|
|
26
26
|
});
|
|
27
27
|
});
|
|
@@ -8,7 +8,7 @@ const mmDbPath = process.argv[3];
|
|
|
8
8
|
const clean = (text) => {
|
|
9
9
|
if (text) {
|
|
10
10
|
var newText = text.replace('"', "'").replace('\n', '').replace('\r', '').replace(/(\r\n|\n|\r)/gm, "").replace(/"/gm, "'").replace(',', ';').trim();
|
|
11
|
-
//
|
|
11
|
+
//log.info("After:" + newText);
|
|
12
12
|
return newText.replace(/´/g, '');
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
@@ -52,17 +52,17 @@ Reader.open(mmDbPath, {}).then(reader => {
|
|
|
52
52
|
countriesDownCount[country] += 1;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
log.info("All count");
|
|
56
56
|
for (const property in countriesCount) {
|
|
57
|
-
|
|
57
|
+
log.info(`${property},${countriesCount[property]}`);
|
|
58
58
|
}
|
|
59
|
-
|
|
59
|
+
log.info("\n\nUp votes count");
|
|
60
60
|
for (const property in countriesUpCount) {
|
|
61
|
-
|
|
61
|
+
log.info(`${property},${countriesUpCount[property]}`);
|
|
62
62
|
}
|
|
63
|
-
|
|
63
|
+
log.info("\n\nDown votes count");
|
|
64
64
|
for (const property in countriesDownCount) {
|
|
65
|
-
|
|
65
|
+
log.info(`${property},${countriesDownCount[property]}`);
|
|
66
66
|
}
|
|
67
67
|
process.exit();
|
|
68
68
|
});
|
|
@@ -5,10 +5,10 @@ var moment = require('moment');
|
|
|
5
5
|
var id = process.argv[2];
|
|
6
6
|
models.BulkStatusUpdate.findAll({}).then(function (bulkStatusUpdates) {
|
|
7
7
|
_.forEach(bulkStatusUpdates, function (update) {
|
|
8
|
-
|
|
8
|
+
log.info("Update: " + update.id + " name: " + update.name);
|
|
9
9
|
});
|
|
10
10
|
process.exit();
|
|
11
11
|
}).catch(function (error) {
|
|
12
|
-
|
|
12
|
+
log.error(error);
|
|
13
13
|
});
|
|
14
14
|
export {};
|
|
@@ -12,7 +12,7 @@ const getUpdatedPostsForGroup = (groupId) => {
|
|
|
12
12
|
return updatedConfig.groups[i].posts;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
log.error("Found no posts for group id: " + groupId);
|
|
16
16
|
return [];
|
|
17
17
|
};
|
|
18
18
|
const hasPost = (updatePosts, post) => {
|
|
@@ -30,13 +30,13 @@ const getUpdatedPosts = (currentPosts, updatedPosts, currentGroupName) => {
|
|
|
30
30
|
posts.push(currentPosts[i]);
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
|
-
|
|
33
|
+
log.info(`Post removed from ${currentGroupName}: ${currentPosts[i].name}`);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
for (let i = 0; i < updatedPosts.length; i++) {
|
|
37
37
|
if (!hasPost(currentPosts, updatedPosts[i])) {
|
|
38
38
|
posts.push(updatedPosts[i]);
|
|
39
|
-
|
|
39
|
+
log.info(`Post added to ${currentGroupName}: ${updatedPosts[i].name}`);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
return posts;
|
|
@@ -102,9 +102,9 @@ async.series([
|
|
|
102
102
|
},
|
|
103
103
|
], error => {
|
|
104
104
|
if (error)
|
|
105
|
-
|
|
105
|
+
log.error();
|
|
106
106
|
else
|
|
107
|
-
|
|
107
|
+
log.info("Completed");
|
|
108
108
|
process.exit();
|
|
109
109
|
});
|
|
110
110
|
export {};
|
|
@@ -8,7 +8,7 @@ var getTemplate = function (templates, title) {
|
|
|
8
8
|
var returnTemplate;
|
|
9
9
|
if (title) {
|
|
10
10
|
_.forEach(templates, function (template) {
|
|
11
|
-
//
|
|
11
|
+
// log.info(template);
|
|
12
12
|
if (title == template.title) {
|
|
13
13
|
returnTemplate = template;
|
|
14
14
|
}
|
|
@@ -21,14 +21,14 @@ models.BulkStatusUpdate.findOne({
|
|
|
21
21
|
id: id
|
|
22
22
|
}
|
|
23
23
|
}).then(function (update) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
log.info("Update: " + update.id + " name: " + update.name);
|
|
25
|
+
log.info(update.config);
|
|
26
|
+
log.info(update.templates);
|
|
27
27
|
if (update.config.groups) {
|
|
28
28
|
async.eachSeries(update.config.groups, function (group, groupCallback) {
|
|
29
29
|
if (group.posts) {
|
|
30
30
|
async.eachSeries(group.posts, function (post, postCallback) {
|
|
31
|
-
//
|
|
31
|
+
// log.info("New status: "+post.newOfficialStatus+" template: "+post.selectedTemplateName+ " content: "+getTemplateContent(update.templates,post.selectedTemplateName));
|
|
32
32
|
if (post.newOfficialStatus) {
|
|
33
33
|
var template = getTemplate(update.templates, post.selectedTemplateName);
|
|
34
34
|
var templateContent = template ? template.content : null;
|
|
@@ -36,7 +36,7 @@ models.BulkStatusUpdate.findOne({
|
|
|
36
36
|
templateContent = post.uniqueStatusMessage;
|
|
37
37
|
}
|
|
38
38
|
if (templateContent) {
|
|
39
|
-
|
|
39
|
+
log.info(post.id + ": " + templateContent);
|
|
40
40
|
async.series([
|
|
41
41
|
function (doCallback) {
|
|
42
42
|
models.User.findOne({
|
|
@@ -104,13 +104,13 @@ models.BulkStatusUpdate.findOne({
|
|
|
104
104
|
}
|
|
105
105
|
}, function (error) {
|
|
106
106
|
if (error) {
|
|
107
|
-
|
|
107
|
+
log.error(error);
|
|
108
108
|
}
|
|
109
|
-
|
|
109
|
+
log.info("Bulk status update has been applied.");
|
|
110
110
|
process.exit();
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
}).catch(function (error) {
|
|
114
|
-
|
|
114
|
+
log.error(error);
|
|
115
115
|
});
|
|
116
116
|
export {};
|
|
@@ -3,6 +3,7 @@ var models = require('../../models/index.cjs');
|
|
|
3
3
|
var async = require('async');
|
|
4
4
|
var _ = require('lodash');
|
|
5
5
|
var moment = require('moment');
|
|
6
|
+
const log = require('../../utils/logger.cjs');
|
|
6
7
|
var id = process.argv[2];
|
|
7
8
|
var userIdToPostNewsStory = process.argv[3];
|
|
8
9
|
var groupId = process.argv[4];
|
|
@@ -10,7 +11,7 @@ var getTemplate = function (templates, title) {
|
|
|
10
11
|
var returnTemplate;
|
|
11
12
|
if (title) {
|
|
12
13
|
_.forEach(templates, function (template) {
|
|
13
|
-
//
|
|
14
|
+
// log.info(template);
|
|
14
15
|
if (title == template.title) {
|
|
15
16
|
returnTemplate = template;
|
|
16
17
|
}
|
|
@@ -23,15 +24,15 @@ models.BulkStatusUpdate.findOne({
|
|
|
23
24
|
id: id
|
|
24
25
|
}
|
|
25
26
|
}).then(function (update) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
log.info("Update: " + update.id + " name: " + update.name);
|
|
28
|
+
log.info(update.config);
|
|
29
|
+
log.info(update.templates);
|
|
29
30
|
if (update.config.groups) {
|
|
30
31
|
async.eachSeries(update.config.groups, function (group, groupCallback) {
|
|
31
32
|
if (group.id == groupId) {
|
|
32
33
|
if (group.posts) {
|
|
33
34
|
async.eachSeries(group.posts, function (post, postCallback) {
|
|
34
|
-
//
|
|
35
|
+
// log.info("New status: "+post.newOfficialStatus+" template: "+post.selectedTemplateName+ " content: "+getTemplateContent(update.templates,post.selectedTemplateName));
|
|
35
36
|
if (post.newOfficialStatus) {
|
|
36
37
|
var template = getTemplate(update.templates, post.selectedTemplateName);
|
|
37
38
|
var templateContent = template ? template.content : null;
|
|
@@ -39,7 +40,7 @@ models.BulkStatusUpdate.findOne({
|
|
|
39
40
|
templateContent = post.uniqueStatusMessage;
|
|
40
41
|
}
|
|
41
42
|
if (templateContent) {
|
|
42
|
-
|
|
43
|
+
log.info(post.id + ": " + templateContent);
|
|
43
44
|
async.series([
|
|
44
45
|
function (doCallback) {
|
|
45
46
|
models.User.findOne({
|
|
@@ -103,22 +104,22 @@ models.BulkStatusUpdate.findOne({
|
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
106
|
else {
|
|
106
|
-
|
|
107
|
+
log.info("No posts group id: " + group.id);
|
|
107
108
|
groupCallback();
|
|
108
109
|
}
|
|
109
110
|
}
|
|
110
111
|
else {
|
|
111
|
-
|
|
112
|
+
log.info("Not performing group id: " + group.id);
|
|
112
113
|
groupCallback();
|
|
113
114
|
}
|
|
114
115
|
}, function (error) {
|
|
115
116
|
if (error) {
|
|
116
|
-
|
|
117
|
+
log.error(error);
|
|
117
118
|
}
|
|
118
|
-
|
|
119
|
+
log.info("Bulk status update has been applied.");
|
|
119
120
|
process.exit();
|
|
120
121
|
});
|
|
121
122
|
}
|
|
122
123
|
}).catch(function (error) {
|
|
123
|
-
|
|
124
|
+
log.error(error);
|
|
124
125
|
});
|