@yglin/tw-env-records 0.0.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.
Files changed (91) hide show
  1. package/lib/app.d.ts +3 -0
  2. package/lib/channels.d.ts +3 -0
  3. package/lib/client.d.ts +40 -0
  4. package/lib/client.js +50 -0
  5. package/lib/configuration.d.ts +142 -0
  6. package/lib/declarations.d.ts +10 -0
  7. package/lib/hooks/before-record-find.d.ts +2 -0
  8. package/lib/hooks/log-error.d.ts +2 -0
  9. package/lib/hooks/on-record-created.d.ts +2 -0
  10. package/lib/hooks/on-record-deleted.d.ts +2 -0
  11. package/lib/hooks/on-record-updated.d.ts +2 -0
  12. package/lib/index.d.ts +1 -0
  13. package/lib/internal/crawler-endpoints.d.ts +2 -0
  14. package/lib/jobs/audit.d.ts +7 -0
  15. package/lib/jobs/crawler-state.d.ts +12 -0
  16. package/lib/jobs/crawler.d.ts +7 -0
  17. package/lib/jobs/full-database-analyzer.d.ts +10 -0
  18. package/lib/jobs/scheduler.d.ts +2 -0
  19. package/lib/logger.d.ts +6 -0
  20. package/lib/maids/collate-place-names.d.ts +1 -0
  21. package/lib/maids/fix-place-names.d.ts +7 -0
  22. package/lib/maids/full-database-analyze.d.ts +1 -0
  23. package/lib/maids/geocode.d.ts +4 -0
  24. package/lib/mongodb.d.ts +8 -0
  25. package/lib/postgresql.d.ts +8 -0
  26. package/lib/services/ask-ai/ask-ai.class.d.ts +35 -0
  27. package/lib/services/ask-ai/ask-ai.d.ts +10 -0
  28. package/lib/services/ask-ai/ask-ai.shared.d.ts +12 -0
  29. package/lib/services/ask-ai/ask-ai.shared.js +13 -0
  30. package/lib/services/date-index/date-index.class.d.ts +11 -0
  31. package/lib/services/date-index/date-index.d.ts +11 -0
  32. package/lib/services/date-index/date-index.schema.d.ts +170 -0
  33. package/lib/services/date-index/date-index.shared.d.ts +13 -0
  34. package/lib/services/date-index/date-index.shared.js +19 -0
  35. package/lib/services/index.d.ts +9 -0
  36. package/lib/services/meta/meta.class.d.ts +151 -0
  37. package/lib/services/meta/meta.d.ts +11 -0
  38. package/lib/services/meta/meta.schema.d.ts +169 -0
  39. package/lib/services/meta/meta.shared.d.ts +13 -0
  40. package/lib/services/meta/meta.shared.js +13 -0
  41. package/lib/services/person/person.class.d.ts +1098 -0
  42. package/lib/services/person/person.d.ts +11 -0
  43. package/lib/services/person/person.schema.d.ts +2693 -0
  44. package/lib/services/person/person.shared.d.ts +13 -0
  45. package/lib/services/person/person.shared.js +13 -0
  46. package/lib/services/person-index/person-index.class.d.ts +17 -0
  47. package/lib/services/person-index/person-index.d.ts +11 -0
  48. package/lib/services/person-index/person-index.schema.d.ts +253 -0
  49. package/lib/services/person-index/person-index.shared.d.ts +13 -0
  50. package/lib/services/person-index/person-index.shared.js +19 -0
  51. package/lib/services/place-index/place-index.class.d.ts +15 -0
  52. package/lib/services/place-index/place-index.d.ts +11 -0
  53. package/lib/services/place-index/place-index.schema.d.ts +175 -0
  54. package/lib/services/place-index/place-index.shared.d.ts +15 -0
  55. package/lib/services/place-index/place-index.shared.js +21 -0
  56. package/lib/services/place-names/place-names.class.d.ts +53 -0
  57. package/lib/services/place-names/place-names.d.ts +11 -0
  58. package/lib/services/place-names/place-names.schema.d.ts +459 -0
  59. package/lib/services/place-names/place-names.shared.d.ts +13 -0
  60. package/lib/services/place-names/place-names.shared.js +13 -0
  61. package/lib/services/record/record.class.d.ts +155 -0
  62. package/lib/services/record/record.d.ts +11 -0
  63. package/lib/services/record/record.schema.d.ts +388 -0
  64. package/lib/services/record/record.shared.d.ts +13 -0
  65. package/lib/services/record/record.shared.js +13 -0
  66. package/lib/services/tag/spectral.d.ts +33 -0
  67. package/lib/services/tag/tag.class.d.ts +1098 -0
  68. package/lib/services/tag/tag.d.ts +11 -0
  69. package/lib/services/tag/tag.schema.d.ts +2693 -0
  70. package/lib/services/tag/tag.shared.d.ts +13 -0
  71. package/lib/services/tag/tag.shared.js +13 -0
  72. package/lib/services/tag-index/tag-index.class.d.ts +15 -0
  73. package/lib/services/tag-index/tag-index.d.ts +11 -0
  74. package/lib/services/tag-index/tag-index.schema.d.ts +155 -0
  75. package/lib/services/tag-index/tag-index.shared.d.ts +13 -0
  76. package/lib/services/tag-index/tag-index.shared.js +19 -0
  77. package/lib/services/tag-similarity/tag-similarity.class.d.ts +18 -0
  78. package/lib/services/tag-similarity/tag-similarity.d.ts +11 -0
  79. package/lib/services/tag-similarity/tag-similarity.schema.d.ts +404 -0
  80. package/lib/services/tag-similarity/tag-similarity.shared.d.ts +12 -0
  81. package/lib/services/tag-similarity/tag-similarity.shared.js +13 -0
  82. package/lib/utils/index.d.ts +5 -0
  83. package/lib/utils/postgresql-transport.d.ts +20 -0
  84. package/lib/utils/update-date-index.d.ts +3 -0
  85. package/lib/utils/update-person-index.d.ts +3 -0
  86. package/lib/utils/update-place-index.d.ts +3 -0
  87. package/lib/utils/update-tag-index.d.ts +3 -0
  88. package/lib/utils/wrap-error.d.ts +1 -0
  89. package/lib/validators.d.ts +3 -0
  90. package/package.json +105 -0
  91. package/readme.md +42 -0
package/lib/app.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { Application } from './declarations';
2
+ declare const app: Application;
3
+ export { app };
@@ -0,0 +1,3 @@
1
+ import '@feathersjs/transport-commons';
2
+ import type { Application } from './declarations';
3
+ export declare const channels: (app: Application) => void;
@@ -0,0 +1,40 @@
1
+ import type { TransportConnection, Application } from '@feathersjs/feathers';
2
+ import type { AuthenticationClientOptions } from '@feathersjs/authentication-client';
3
+ import './services/tag-similarity/tag-similarity.shared';
4
+ export type { TagSimilarity, TagSimilarityQuery } from './services/tag-similarity/tag-similarity.shared';
5
+ import './services/ask-ai/ask-ai.shared';
6
+ export type { AskAi, AskAiData, AskAiQuery, AskAiPatch, AskAiRequest, AskAiResponse } from './services/ask-ai/ask-ai.shared';
7
+ import './services/tag/tag.shared';
8
+ export type { Tag, TagData, TagQuery, TagPatch } from './services/tag/tag.shared';
9
+ import './services/meta/meta.shared';
10
+ export type { Meta, MetaData, MetaQuery, MetaPatch, ServerInfo, YearlyStatistics, PerCountyStatistics, TagsTopN, PeopleTopN, TagsSimilarityConfigs } from './services/meta/meta.shared';
11
+ import './services/person/person.shared';
12
+ export type { Person, PersonData, PersonQuery, PersonPatch } from './services/person/person.shared';
13
+ import './services/place-names/place-names.shared';
14
+ export type { PlaceNames, PlaceNamesData, PlaceNamesQuery, PlaceNamesPatch } from './services/place-names/place-names.shared';
15
+ import './services/tag-index/tag-index.shared';
16
+ export type { TagIndex, TagIndexData, TagIndexQuery, TagIndexPatch } from './services/tag-index/tag-index.shared';
17
+ import './services/person-index/person-index.shared';
18
+ export type { PersonIndex, PersonIndexData, PersonIndexQuery, PersonIndexPatch } from './services/person-index/person-index.shared';
19
+ import './services/place-index/place-index.shared';
20
+ export type { PlaceIndex, PlaceIndexData, PlaceIndexQuery, PlaceIndexPatch } from './services/place-index/place-index.shared';
21
+ export { buildPlaceIndexId } from './services/place-index/place-index.shared';
22
+ import './services/date-index/date-index.shared';
23
+ export type { DateIndex, DateIndexData, DateIndexQuery, DateIndexPatch } from './services/date-index/date-index.shared';
24
+ import './services/record/record.shared';
25
+ export type { Record, RecordData, RecordQuery, RecordPatch } from './services/record/record.shared';
26
+ export interface Configuration {
27
+ connection: TransportConnection<ServiceTypes>;
28
+ }
29
+ export interface ServiceTypes {
30
+ }
31
+ export type ClientApplication = Application<ServiceTypes, Configuration>;
32
+ /**
33
+ * Returns a typed client for the tw-env-records app.
34
+ *
35
+ * @param connection The REST or Socket.io Feathers client connection
36
+ * @param authenticationOptions Additional settings for the authentication client
37
+ * @see https://dove.feathersjs.com/api/client.html
38
+ * @returns The Feathers client application
39
+ */
40
+ export declare const createClient: <Configuration = any>(connection: TransportConnection<ServiceTypes>, authenticationOptions?: Partial<AuthenticationClientOptions>) => ClientApplication;
package/lib/client.js ADDED
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createClient = exports.buildPlaceIndexId = void 0;
7
+ // For more information about this file see https://dove.feathersjs.com/guides/cli/client.html
8
+ const feathers_1 = require("@feathersjs/feathers");
9
+ const authentication_client_1 = __importDefault(require("@feathersjs/authentication-client"));
10
+ const tag_similarity_shared_1 = require("./services/tag-similarity/tag-similarity.shared");
11
+ const ask_ai_shared_1 = require("./services/ask-ai/ask-ai.shared");
12
+ const tag_shared_1 = require("./services/tag/tag.shared");
13
+ const meta_shared_1 = require("./services/meta/meta.shared");
14
+ const person_shared_1 = require("./services/person/person.shared");
15
+ const place_names_shared_1 = require("./services/place-names/place-names.shared");
16
+ const tag_index_shared_1 = require("./services/tag-index/tag-index.shared");
17
+ const person_index_shared_1 = require("./services/person-index/person-index.shared");
18
+ const place_index_shared_1 = require("./services/place-index/place-index.shared");
19
+ var place_index_shared_2 = require("./services/place-index/place-index.shared");
20
+ Object.defineProperty(exports, "buildPlaceIndexId", { enumerable: true, get: function () { return place_index_shared_2.buildPlaceIndexId; } });
21
+ const date_index_shared_1 = require("./services/date-index/date-index.shared");
22
+ const record_shared_1 = require("./services/record/record.shared");
23
+ /**
24
+ * Returns a typed client for the tw-env-records app.
25
+ *
26
+ * @param connection The REST or Socket.io Feathers client connection
27
+ * @param authenticationOptions Additional settings for the authentication client
28
+ * @see https://dove.feathersjs.com/api/client.html
29
+ * @returns The Feathers client application
30
+ */
31
+ const createClient = (connection, authenticationOptions = {}) => {
32
+ const client = (0, feathers_1.feathers)();
33
+ client.configure(connection);
34
+ client.configure((0, authentication_client_1.default)(authenticationOptions));
35
+ client.set('connection', connection);
36
+ client.configure(record_shared_1.recordClient);
37
+ client.configure(date_index_shared_1.dateIndexClient);
38
+ client.configure(place_index_shared_1.placeIndexClient);
39
+ client.configure(person_index_shared_1.personIndexClient);
40
+ client.configure(tag_index_shared_1.tagIndexClient);
41
+ client.configure(place_names_shared_1.placeNamesClient);
42
+ client.configure(person_shared_1.personClient);
43
+ client.configure(meta_shared_1.metaClient);
44
+ client.configure(tag_shared_1.tagClient);
45
+ client.configure(ask_ai_shared_1.askAiClient);
46
+ client.configure(tag_similarity_shared_1.tagSimilarityClient);
47
+ return client;
48
+ };
49
+ exports.createClient = createClient;
50
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1,142 @@
1
+ import type { Static } from '@feathersjs/typebox';
2
+ export declare const configurationSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
3
+ authentication: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
4
+ secret: import("@sinclair/typebox").TString<string>;
5
+ entity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TNull]>>;
6
+ entityId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
7
+ service: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
8
+ authStrategies: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString<string>>;
9
+ parseStrategies: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString<string>>>;
10
+ jwtOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
11
+ jwt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
12
+ header: import("@sinclair/typebox").TString<string>;
13
+ schemes: import("@sinclair/typebox").TString<string>;
14
+ }>>;
15
+ local: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
16
+ usernameField: import("@sinclair/typebox").TString<string>;
17
+ passwordField: import("@sinclair/typebox").TString<string>;
18
+ hashSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
19
+ errorMessage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
20
+ entityUsernameField: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
21
+ entityPasswordField: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
22
+ }>>;
23
+ oauth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
24
+ redirect: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
25
+ origins: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString<string>>>;
26
+ defaults: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
27
+ key: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
28
+ secret: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
29
+ }>>;
30
+ }>>;
31
+ }>>;
32
+ paginate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
33
+ default: import("@sinclair/typebox").TNumber;
34
+ max: import("@sinclair/typebox").TNumber;
35
+ }>>;
36
+ origins: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString<string>>>;
37
+ mongodb: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
38
+ mysql: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
39
+ client: import("@sinclair/typebox").TString<string>;
40
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
41
+ host: import("@sinclair/typebox").TString<string>;
42
+ port: import("@sinclair/typebox").TNumber;
43
+ user: import("@sinclair/typebox").TString<string>;
44
+ password: import("@sinclair/typebox").TString<string>;
45
+ database: import("@sinclair/typebox").TString<string>;
46
+ }>>]>;
47
+ pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
48
+ min: import("@sinclair/typebox").TNumber;
49
+ max: import("@sinclair/typebox").TNumber;
50
+ }>>;
51
+ }>>;
52
+ postgresql: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
53
+ client: import("@sinclair/typebox").TString<string>;
54
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
55
+ host: import("@sinclair/typebox").TString<string>;
56
+ port: import("@sinclair/typebox").TNumber;
57
+ user: import("@sinclair/typebox").TString<string>;
58
+ password: import("@sinclair/typebox").TString<string>;
59
+ database: import("@sinclair/typebox").TString<string>;
60
+ }>>]>;
61
+ pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
62
+ min: import("@sinclair/typebox").TNumber;
63
+ max: import("@sinclair/typebox").TNumber;
64
+ }>>;
65
+ }>>;
66
+ sqlite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
67
+ client: import("@sinclair/typebox").TString<string>;
68
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
69
+ host: import("@sinclair/typebox").TString<string>;
70
+ port: import("@sinclair/typebox").TNumber;
71
+ user: import("@sinclair/typebox").TString<string>;
72
+ password: import("@sinclair/typebox").TString<string>;
73
+ database: import("@sinclair/typebox").TString<string>;
74
+ }>>]>;
75
+ pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
76
+ min: import("@sinclair/typebox").TNumber;
77
+ max: import("@sinclair/typebox").TNumber;
78
+ }>>;
79
+ }>>;
80
+ mssql: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
81
+ client: import("@sinclair/typebox").TString<string>;
82
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
83
+ host: import("@sinclair/typebox").TString<string>;
84
+ port: import("@sinclair/typebox").TNumber;
85
+ user: import("@sinclair/typebox").TString<string>;
86
+ password: import("@sinclair/typebox").TString<string>;
87
+ database: import("@sinclair/typebox").TString<string>;
88
+ }>>]>;
89
+ pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
90
+ min: import("@sinclair/typebox").TNumber;
91
+ max: import("@sinclair/typebox").TNumber;
92
+ }>>;
93
+ }>>;
94
+ }>, import("@sinclair/typebox").TObject<{
95
+ host: import("@sinclair/typebox").TString<string>;
96
+ port: import("@sinclair/typebox").TNumber;
97
+ public: import("@sinclair/typebox").TString<string>;
98
+ meta: import("@sinclair/typebox").TObject<{
99
+ path: import("@sinclair/typebox").TString<string>;
100
+ places: import("@sinclair/typebox").TObject<{
101
+ path: import("@sinclair/typebox").TString<string>;
102
+ }>;
103
+ }>;
104
+ google: import("@sinclair/typebox").TObject<{
105
+ geocoding: import("@sinclair/typebox").TObject<{
106
+ apiKey: import("@sinclair/typebox").TString<string>;
107
+ }>;
108
+ gemini: import("@sinclair/typebox").TObject<{
109
+ api01: import("@sinclair/typebox").TObject<{
110
+ model: import("@sinclair/typebox").TString<string>;
111
+ apiKey01: import("@sinclair/typebox").TString<string>;
112
+ }>;
113
+ api02: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
114
+ model: import("@sinclair/typebox").TString<string>;
115
+ apiKey02: import("@sinclair/typebox").TString<string>;
116
+ }>>;
117
+ }>;
118
+ }>;
119
+ services: import("@sinclair/typebox").TObject<{
120
+ askAi: import("@sinclair/typebox").TObject<{
121
+ recordsLimit: import("@sinclair/typebox").TNumber;
122
+ }>;
123
+ }>;
124
+ crawler: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
125
+ enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
126
+ schedule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
127
+ timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
128
+ internalSecret: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
129
+ }>>;
130
+ analyzer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
131
+ enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
132
+ schedule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
133
+ timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
134
+ }>>;
135
+ audit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
136
+ enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
137
+ schedule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
138
+ timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
139
+ }>>;
140
+ }>]>;
141
+ export type ApplicationConfiguration = Static<typeof configurationSchema>;
142
+ export declare const configurationValidator: import("@feathersjs/schema").Validator<any, any>;
@@ -0,0 +1,10 @@
1
+ import { HookContext as FeathersHookContext, NextFunction } from '@feathersjs/feathers';
2
+ import { Application as FeathersApplication } from '@feathersjs/koa';
3
+ import { ApplicationConfiguration } from './configuration';
4
+ export type { NextFunction };
5
+ export interface Configuration extends ApplicationConfiguration {
6
+ }
7
+ export interface ServiceTypes {
8
+ }
9
+ export type Application = FeathersApplication<ServiceTypes, Configuration>;
10
+ export type HookContext<S = any> = FeathersHookContext<Application, S>;
@@ -0,0 +1,2 @@
1
+ import type { HookContext } from '../declarations';
2
+ export declare const beforeRecordFind: (context: HookContext) => Promise<undefined>;
@@ -0,0 +1,2 @@
1
+ import type { HookContext, NextFunction } from '../declarations';
2
+ export declare const logError: (context: HookContext, next: NextFunction) => Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { HookContext } from '../declarations';
2
+ export declare const onRecordCreated: (context: HookContext) => Promise<HookContext>;
@@ -0,0 +1,2 @@
1
+ import type { HookContext } from '../declarations';
2
+ export declare const onRecordDeleted: (context: HookContext) => Promise<undefined>;
@@ -0,0 +1,2 @@
1
+ import type { HookContext, NextFunction } from '../declarations';
2
+ export declare const onRecordUpdated: (context: HookContext, next: NextFunction) => Promise<undefined>;
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Application } from "../declarations";
2
+ export declare const crawlerEndpoints: (app: Application) => void;
@@ -0,0 +1,7 @@
1
+ import { Application } from '../declarations';
2
+ export type AuditStats = {
3
+ processed: number;
4
+ updated: number;
5
+ skipped: number;
6
+ };
7
+ export declare function runAudit(app: Application): Promise<AuditStats>;
@@ -0,0 +1,12 @@
1
+ import { CrawlStats } from "./crawler";
2
+ export type CrawlerState = {
3
+ running: boolean;
4
+ lastRunAt?: string;
5
+ lastDurationMs?: number;
6
+ lastResult?: CrawlStats;
7
+ lastError?: string;
8
+ };
9
+ export declare function getCrawlerState(): CrawlerState;
10
+ export declare function startRun(): void;
11
+ export declare function finishRun(result: CrawlStats, durationMs: number): void;
12
+ export declare function failRun(error: unknown, durationMs: number): void;
@@ -0,0 +1,7 @@
1
+ import { Application } from "../declarations";
2
+ export type CrawlStats = {
3
+ created: number;
4
+ updated: number;
5
+ duplicatesChecked: number;
6
+ };
7
+ export declare function runCrawlOnce(app: Application): Promise<CrawlStats>;
@@ -0,0 +1,10 @@
1
+ import { Application } from '../declarations';
2
+ export type AnalysisStats = {
3
+ totalRecords: number;
4
+ yearlyStats: number;
5
+ countyStats: number;
6
+ tags: number;
7
+ people: number;
8
+ placeNames: number;
9
+ };
10
+ export declare function runFullDatabaseAnalysis(app: Application): Promise<AnalysisStats>;
@@ -0,0 +1,2 @@
1
+ import { Application } from '../declarations';
2
+ export declare const scheduler: (app: Application) => void;
@@ -0,0 +1,6 @@
1
+ import type { Knex } from 'knex';
2
+ export declare const setPostgreSQLClient: (client: Knex) => void;
3
+ export declare const logger: import("winston").Logger;
4
+ export declare const addPostgreSQLTransport: () => void;
5
+ export declare const maidLogger: import("winston").Logger;
6
+ export declare const addMaidPostgreSQLTransport: () => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import { FeathersService } from '@feathersjs/feathers';
2
+ import { Record } from '../services';
3
+ import { Application } from '../declarations';
4
+ import { RecordParams, RecordService } from '../services/record/record';
5
+ export declare function fixPlaceNames(record: Record, context: {
6
+ service: FeathersService<Application, RecordService<RecordParams>>;
7
+ }): Promise<Record>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare function geocodePlaceName(placeName: string): Promise<{
2
+ latitude: number;
3
+ longitude: number;
4
+ } | null>;
@@ -0,0 +1,8 @@
1
+ import type { Db } from 'mongodb';
2
+ import type { Application } from './declarations';
3
+ declare module './declarations' {
4
+ interface Configuration {
5
+ mongodbClient: Promise<Db>;
6
+ }
7
+ }
8
+ export declare const mongodb: (app: Application) => void;
@@ -0,0 +1,8 @@
1
+ import type { Knex } from 'knex';
2
+ import type { Application } from './declarations';
3
+ declare module './declarations' {
4
+ interface Configuration {
5
+ postgresqlClient: Knex;
6
+ }
7
+ }
8
+ export declare const postgresql: (app: Application) => void;
@@ -0,0 +1,35 @@
1
+ import type { Id, NullableId, Params, ServiceInterface } from '@feathersjs/feathers';
2
+ import type { Application } from '../../declarations';
3
+ type AskAi = any;
4
+ type AskAiData = any;
5
+ type AskAiPatch = any;
6
+ type AskAiQuery = any;
7
+ export type { AskAi, AskAiData, AskAiPatch, AskAiQuery };
8
+ export interface AskAiServiceOptions {
9
+ app: Application;
10
+ }
11
+ export interface AskAiParams extends Params<AskAiQuery> {
12
+ }
13
+ export interface AskAiRequest {
14
+ input: string;
15
+ records: number[];
16
+ }
17
+ export interface AskAiResponse {
18
+ answer: string;
19
+ records: number[];
20
+ }
21
+ export declare class AskAiService<ServiceParams extends AskAiParams = AskAiParams> implements ServiceInterface<AskAi, AskAiData, ServiceParams, AskAiPatch> {
22
+ options: AskAiServiceOptions;
23
+ app: Application;
24
+ constructor(options: AskAiServiceOptions, app: Application);
25
+ find(_params?: AskAiParams): Promise<AskAi>;
26
+ get(id: Id, _params?: ServiceParams): Promise<AskAi>;
27
+ create(data: AskAiRequest, params?: AskAiParams): Promise<AskAiResponse>;
28
+ create(data: AskAiRequest[], params?: AskAiParams): Promise<AskAiResponse[]>;
29
+ update(id: NullableId, data: AskAiData, _params?: ServiceParams): Promise<AskAi>;
30
+ patch(id: NullableId, data: AskAiPatch, _params?: ServiceParams): Promise<AskAi>;
31
+ remove(id: NullableId, _params?: ServiceParams): Promise<AskAi>;
32
+ }
33
+ export declare const getOptions: (app: Application) => {
34
+ app: Application;
35
+ };
@@ -0,0 +1,10 @@
1
+ import type { Application } from '../../declarations';
2
+ import { AskAiService } from './ask-ai.class';
3
+ import { askAiPath } from './ask-ai.shared';
4
+ export * from './ask-ai.class';
5
+ export declare const askAi: (app: Application) => void;
6
+ declare module '../../declarations' {
7
+ interface ServiceTypes {
8
+ [askAiPath]: AskAiService;
9
+ }
10
+ }
@@ -0,0 +1,12 @@
1
+ import type { ClientApplication } from '../../client';
2
+ import type { AskAi, AskAiData, AskAiPatch, AskAiQuery, AskAiService, AskAiParams, AskAiRequest, AskAiResponse } from './ask-ai.class';
3
+ export type { AskAi, AskAiData, AskAiPatch, AskAiQuery, AskAiRequest, AskAiResponse };
4
+ export type AskAiClientService = Pick<AskAiService<AskAiParams>, (typeof askAiMethods)[number]>;
5
+ export declare const askAiPath = "ask-ai";
6
+ export declare const askAiMethods: Array<keyof AskAiService>;
7
+ export declare const askAiClient: (client: ClientApplication) => void;
8
+ declare module '../../client' {
9
+ interface ServiceTypes {
10
+ [askAiPath]: AskAiClientService;
11
+ }
12
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.askAiClient = exports.askAiMethods = exports.askAiPath = void 0;
4
+ exports.askAiPath = 'ask-ai';
5
+ exports.askAiMethods = ['create'];
6
+ const askAiClient = (client) => {
7
+ const connection = client.get('connection');
8
+ client.use(exports.askAiPath, connection.service(exports.askAiPath), {
9
+ methods: exports.askAiMethods
10
+ });
11
+ };
12
+ exports.askAiClient = askAiClient;
13
+ //# sourceMappingURL=ask-ai.shared.js.map
@@ -0,0 +1,11 @@
1
+ import type { Params } from '@feathersjs/feathers';
2
+ import type { KnexAdapterOptions, KnexAdapterParams } from '@feathersjs/knex';
3
+ import { KnexService } from '@feathersjs/knex';
4
+ import type { Application } from '../../declarations';
5
+ import { type DateIndex, type DateIndexData, type DateIndexPatch, type DateIndexQuery } from './date-index.schema';
6
+ export type { DateIndex, DateIndexData, DateIndexPatch, DateIndexQuery };
7
+ export interface DateIndexParams extends KnexAdapterParams<DateIndexQuery> {
8
+ }
9
+ export declare class DateIndexService<ServiceParams extends Params = DateIndexParams> extends KnexService<DateIndex, DateIndexData, DateIndexParams, DateIndexPatch> {
10
+ }
11
+ export declare const getOptions: (app: Application) => KnexAdapterOptions;
@@ -0,0 +1,11 @@
1
+ import type { Application } from '../../declarations';
2
+ import { DateIndexService } from './date-index.class';
3
+ import { dateIndexPath } from './date-index.shared';
4
+ export * from './date-index.class';
5
+ export * from './date-index.schema';
6
+ export declare const dateIndex: (app: Application) => void;
7
+ declare module '../../declarations' {
8
+ interface ServiceTypes {
9
+ [dateIndexPath]: DateIndexService;
10
+ }
11
+ }