musora-content-services 2.95.2 → 2.95.3
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/.coderabbit.yaml +0 -0
- package/.editorconfig +0 -0
- package/.github/pull_request_template.md +0 -0
- package/.github/workflows/conventional-commits.yaml +0 -0
- package/.github/workflows/docs.js.yml +0 -0
- package/.github/workflows/node.js.yml +0 -0
- package/.prettierignore +0 -0
- package/.prettierrc +0 -0
- package/CHANGELOG.md +7 -0
- package/CLAUDE.md +0 -0
- package/README.md +0 -0
- package/babel.config.cjs +0 -0
- package/jest.config.js +0 -0
- package/jsdoc.json +0 -0
- package/package.json +1 -1
- package/src/constants/award-assets.js +0 -0
- package/src/contentMetaData.js +0 -0
- package/src/filterBuilder.js +0 -0
- package/src/index.d.ts +0 -0
- package/src/index.js +0 -0
- package/src/infrastructure/http/HttpClient.ts +0 -0
- package/src/infrastructure/http/executors/FetchRequestExecutor.ts +0 -0
- package/src/infrastructure/http/index.ts +0 -0
- package/src/infrastructure/http/interfaces/HeaderProvider.ts +0 -0
- package/src/infrastructure/http/interfaces/HttpError.ts +0 -0
- package/src/infrastructure/http/interfaces/NetworkError.ts +0 -0
- package/src/infrastructure/http/interfaces/RequestExecutor.ts +0 -0
- package/src/infrastructure/http/interfaces/RequestOptions.ts +0 -0
- package/src/infrastructure/http/providers/DefaultHeaderProvider.ts +0 -0
- package/src/lib/ads/monoid.ts +5 -0
- package/src/lib/ads/semigroup.ts +3 -0
- package/src/lib/brands.ts +0 -0
- package/src/lib/httpHelper.js +0 -0
- package/src/lib/lastUpdated.js +0 -0
- package/src/lib/sanity/query.ts +125 -28
- package/src/services/api/types.js +0 -0
- package/src/services/api/types.ts +0 -0
- package/src/services/awards/award-callbacks.js +0 -0
- package/src/services/awards/award-query.js +0 -0
- package/src/services/awards/internal/.indexignore +0 -0
- package/src/services/awards/internal/award-definitions.js +0 -0
- package/src/services/awards/internal/award-events.js +0 -0
- package/src/services/awards/internal/award-manager.js +0 -0
- package/src/services/awards/internal/certificate-builder.js +0 -0
- package/src/services/awards/internal/completion-data-generator.js +0 -0
- package/src/services/awards/internal/content-progress-observer.js +0 -0
- package/src/services/awards/internal/image-utils.js +0 -0
- package/src/services/awards/internal/message-generator.js +0 -0
- package/src/services/awards/internal/types.js +0 -0
- package/src/services/awards/types.d.ts +0 -0
- package/src/services/awards/types.js +0 -0
- package/src/services/config.js +0 -0
- package/src/services/content/artist.ts +69 -37
- package/src/services/content/content.ts +0 -0
- package/src/services/content/genre.ts +67 -39
- package/src/services/content/instructor.ts +76 -41
- package/src/services/content-org/content-org.js +0 -0
- package/src/services/content-org/guided-courses.ts +0 -0
- package/src/services/content-org/learning-paths.ts +0 -0
- package/src/services/content-org/playlists-types.js +0 -0
- package/src/services/content-org/playlists.js +0 -0
- package/src/services/content.js +0 -0
- package/src/services/contentAggregator.js +0 -0
- package/src/services/contentLikes.js +0 -0
- package/src/services/contentProgress.js +0 -0
- package/src/services/dataContext.js +0 -0
- package/src/services/dateUtils.js +0 -0
- package/src/services/eventsAPI.js +0 -0
- package/src/services/forums/categories.ts +0 -0
- package/src/services/forums/forums.ts +0 -0
- package/src/services/forums/posts.ts +0 -0
- package/src/services/forums/threads.ts +0 -0
- package/src/services/forums/types.ts +0 -0
- package/src/services/gamification/awards.ts +0 -0
- package/src/services/gamification/gamification.js +0 -0
- package/src/services/imageSRCBuilder.js +0 -0
- package/src/services/imageSRCVerify.js +0 -0
- package/src/services/liveTesting.ts +0 -0
- package/src/services/permissions/PermissionsAdapter.ts +0 -0
- package/src/services/permissions/PermissionsAdapterFactory.ts +0 -0
- package/src/services/permissions/PermissionsV1Adapter.ts +0 -0
- package/src/services/permissions/PermissionsV2Adapter.ts +0 -0
- package/src/services/permissions/README.md +0 -0
- package/src/services/permissions/index.ts +0 -0
- package/src/services/progress-events.js +0 -0
- package/src/services/progress-row/method-card.js +0 -0
- package/src/services/railcontent.js +0 -0
- package/src/services/recommendations.js +0 -0
- package/src/services/reporting/README.md +0 -0
- package/src/services/reporting/reporting.ts +0 -0
- package/src/services/reporting/types.ts +0 -0
- package/src/services/sentry/.indexignore +0 -0
- package/src/services/sentry/index.ts +0 -0
- package/src/services/sync/.indexignore +0 -0
- package/src/services/sync/adapters/factory.ts +0 -0
- package/src/services/sync/adapters/lokijs.ts +0 -0
- package/src/services/sync/adapters/sqlite.ts +0 -0
- package/src/services/sync/concurrency-safety.ts +0 -0
- package/src/services/sync/context/index.ts +0 -0
- package/src/services/sync/context/providers/base.ts +0 -0
- package/src/services/sync/context/providers/connectivity.ts +0 -0
- package/src/services/sync/context/providers/durability.ts +0 -0
- package/src/services/sync/context/providers/index.ts +0 -0
- package/src/services/sync/context/providers/session.ts +0 -0
- package/src/services/sync/context/providers/tabs.ts +0 -0
- package/src/services/sync/context/providers/visibility.ts +0 -0
- package/src/services/sync/database/factory.ts +0 -0
- package/src/services/sync/errors/boundary.ts +0 -0
- package/src/services/sync/errors/index.ts +0 -0
- package/src/services/sync/fetch.ts +0 -0
- package/src/services/sync/index.ts +0 -0
- package/src/services/sync/manager.ts +0 -0
- package/src/services/sync/models/Base.ts +0 -0
- package/src/services/sync/models/ContentLike.ts +0 -0
- package/src/services/sync/models/ContentProgress.ts +0 -0
- package/src/services/sync/models/Practice.ts +0 -0
- package/src/services/sync/models/PracticeDayNote.ts +0 -0
- package/src/services/sync/models/UserAwardProgress.ts +0 -0
- package/src/services/sync/models/index.ts +0 -0
- package/src/services/sync/repositories/base.ts +0 -0
- package/src/services/sync/repositories/content-likes.ts +0 -0
- package/src/services/sync/repositories/content-progress.ts +0 -0
- package/src/services/sync/repositories/index.ts +0 -0
- package/src/services/sync/repositories/practice-day-notes.ts +0 -0
- package/src/services/sync/repositories/practices.ts +0 -0
- package/src/services/sync/repositories/user-award-progress.ts +0 -0
- package/src/services/sync/repository-proxy.ts +0 -0
- package/src/services/sync/resolver.ts +0 -0
- package/src/services/sync/retry.ts +0 -0
- package/src/services/sync/run-scope.ts +0 -0
- package/src/services/sync/schema/index.ts +0 -0
- package/src/services/sync/serializers/index.ts +0 -0
- package/src/services/sync/serializers/model.ts +0 -0
- package/src/services/sync/serializers/raw.ts +0 -0
- package/src/services/sync/store/index.ts +0 -0
- package/src/services/sync/store/push-coalescer.ts +0 -0
- package/src/services/sync/store-configs.ts +0 -0
- package/src/services/sync/strategies/base.ts +0 -0
- package/src/services/sync/strategies/index.ts +0 -0
- package/src/services/sync/strategies/initial.ts +0 -0
- package/src/services/sync/strategies/polling.ts +0 -0
- package/src/services/sync/telemetry/index.ts +0 -0
- package/src/services/sync/telemetry/sampling.ts +0 -0
- package/src/services/sync/utils/event-emitter.ts +0 -0
- package/src/services/sync/utils/index.ts +0 -0
- package/src/services/sync/utils/throttle.ts +0 -0
- package/src/services/sync/utils/timers.ts +0 -0
- package/src/services/types.js +0 -0
- package/src/services/user/account.ts +0 -0
- package/src/services/user/chat.js +0 -0
- package/src/services/user/interests.js +0 -0
- package/src/services/user/management.js +0 -0
- package/src/services/user/memberships.ts +0 -0
- package/src/services/user/notifications.js +0 -0
- package/src/services/user/onboarding.ts +0 -0
- package/src/services/user/payments.ts +0 -0
- package/src/services/user/permissions.js +0 -0
- package/src/services/user/profile.js +0 -0
- package/src/services/user/sessions.js +0 -0
- package/src/services/user/types.d.ts +0 -0
- package/src/services/user/types.js +0 -0
- package/src/services/user/user-management-system.js +0 -0
- package/src/services/userActivity.js +0 -0
- package/test/HttpClient.test.js +0 -0
- package/test/awards/award-alacarte-observer.test.js +0 -0
- package/test/awards/award-auto-refresh.test.js +0 -0
- package/test/awards/award-calculations.test.js +0 -0
- package/test/awards/award-certificate-display.test.js +0 -0
- package/test/awards/award-collection-edge-cases.test.js +0 -0
- package/test/awards/award-collection-filtering.test.js +0 -0
- package/test/awards/award-completion-flow.test.js +0 -0
- package/test/awards/award-exclusion-handling.test.js +0 -0
- package/test/awards/award-multi-lesson.test.js +0 -0
- package/test/awards/award-observer-integration.test.js +0 -0
- package/test/awards/award-query-messages.test.js +0 -0
- package/test/awards/award-user-collection.test.js +0 -0
- package/test/awards/duplicate-prevention.test.js +0 -0
- package/test/awards/helpers/completion-mock.js +0 -0
- package/test/awards/helpers/index.js +0 -0
- package/test/awards/helpers/mock-setup.js +0 -0
- package/test/awards/helpers/progress-emitter.js +0 -0
- package/test/awards/message-generator.test.js +0 -0
- package/test/content.test.js +0 -0
- package/test/contentLikes.test.js +0 -0
- package/test/contentProgress.test.js +0 -0
- package/test/dataContext.test.js +0 -0
- package/test/forum.test.js +0 -0
- package/test/imageSRCBuilder.test.js +0 -0
- package/test/imageSRCVerify.test.js +0 -0
- package/test/initializeTests.js +0 -0
- package/test/learningPaths.test.js +0 -0
- package/test/lib/lastUpdated.test.js +0 -0
- package/test/live/contentProgressLive.test.js +0 -0
- package/test/live/railcontentLive.test.js +0 -0
- package/test/localStorageMock.js +0 -0
- package/test/log.js +0 -0
- package/test/mockData/award-definitions.js +0 -0
- package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
- package/test/mockData/mockData_progress_content.json +0 -0
- package/test/mockData/mockData_sanity_progress_content.json +0 -0
- package/test/mockData/mockData_user_practices.json +0 -0
- package/test/notifications.test.js +0 -0
- package/test/progressRows.test.js +0 -0
- package/test/sanityQueryService.test.js +0 -0
- package/test/streakMessage.test.js +0 -0
- package/test/sync/models/award-database-integration.test.js +0 -0
- package/test/user/permissions.test.js +0 -0
- package/test/userActivity.test.js +0 -0
- package/tools/generate-index.cjs +0 -0
- package/.claude/settings.local.json +0 -18
|
@@ -5,7 +5,7 @@ import { FilterBuilder } from '../../filterBuilder.js'
|
|
|
5
5
|
import { filtersToGroq, getFieldsForContentType } from '../../contentTypeConfig.js'
|
|
6
6
|
import { fetchSanity, getSortOrder } from '../sanity.js'
|
|
7
7
|
import { Lesson } from './content'
|
|
8
|
-
import {
|
|
8
|
+
import { BuildQueryOptions, query } from '../../lib/sanity/query'
|
|
9
9
|
import { Brands } from '../../lib/brands'
|
|
10
10
|
|
|
11
11
|
export interface Instructor {
|
|
@@ -16,30 +16,55 @@ export interface Instructor {
|
|
|
16
16
|
thumbnail: string
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
export interface Instructors {
|
|
20
|
+
data: Instructor[]
|
|
21
|
+
total: number
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
/**
|
|
20
25
|
* Fetch all instructor with lessons available for a specific brand.
|
|
21
26
|
*
|
|
22
27
|
* @param {Brands|string} brand - The brand for which to fetch instructors.
|
|
23
|
-
* @returns {Promise<
|
|
28
|
+
* @returns {Promise<Instructors>} - A promise that resolves to an array of instructor objects.
|
|
24
29
|
*
|
|
25
30
|
* @example
|
|
26
31
|
* fetchInstructors('drumeo')
|
|
27
32
|
* .then(instructors => console.log(instructors))
|
|
28
33
|
* .catch(error => console.error(error));
|
|
29
34
|
*/
|
|
30
|
-
export async function fetchInstructors(
|
|
31
|
-
|
|
35
|
+
export async function fetchInstructors(
|
|
36
|
+
brand: Brands | string,
|
|
37
|
+
options: BuildQueryOptions
|
|
38
|
+
): Promise<Instructor[]> {
|
|
39
|
+
const lessonFilter = await new FilterBuilder(`brand == "${brand}" && references(^._id)`, {
|
|
32
40
|
bypassPermissions: true,
|
|
33
41
|
}).buildFilter()
|
|
34
42
|
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
name
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
const data = query()
|
|
44
|
+
.and(`_type == "instructor"`)
|
|
45
|
+
.order(options.sort || 'lower(name) asc')
|
|
46
|
+
.slice(options.offset || 0, (options.offset || 0) + (options.limit || 20))
|
|
47
|
+
.select(
|
|
48
|
+
'name',
|
|
49
|
+
`"slug": slug.current`,
|
|
50
|
+
`"thumbnail": thumbnail_url.asset->url`,
|
|
51
|
+
`"lessonCount": count(*[${lessonFilter}])`
|
|
52
|
+
)
|
|
53
|
+
.postFilter(`lessonCount > 0`)
|
|
54
|
+
.build()
|
|
55
|
+
|
|
56
|
+
const total = query()
|
|
57
|
+
.and(`_type == "instructor"`)
|
|
58
|
+
.select(`"lessonCount": count(*[${lessonFilter}])`)
|
|
59
|
+
.postFilter(`lessonCount > 0`)
|
|
60
|
+
.build()
|
|
61
|
+
|
|
62
|
+
const q = `{
|
|
63
|
+
"data": ${data},
|
|
64
|
+
"total": count(${total})
|
|
65
|
+
}`
|
|
66
|
+
|
|
67
|
+
return fetchSanity(q, true, { processNeedAccess: false, processPageType: false })
|
|
43
68
|
}
|
|
44
69
|
|
|
45
70
|
/**
|
|
@@ -47,7 +72,7 @@ export async function fetchInstructors(brand: Brands | string): Promise<Instruct
|
|
|
47
72
|
*
|
|
48
73
|
* @param {string} slug - The slug of the instructor to fetch.
|
|
49
74
|
* @param {Brands|string} [brand] - The brand for which to fetch the instructor. Lesson count will be filtered by this brand if provided.
|
|
50
|
-
* @returns {Promise<Instructor
|
|
75
|
+
* @returns {Promise<Instructor | null>} - A promise that resolves to an instructor object or null if not found.
|
|
51
76
|
*
|
|
52
77
|
* @example
|
|
53
78
|
* fetchInstructorBySlug('66samus', 'drumeo')
|
|
@@ -63,26 +88,28 @@ export async function fetchInstructorBySlug(
|
|
|
63
88
|
bypassPermissions: true,
|
|
64
89
|
}).buildFilter()
|
|
65
90
|
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
91
|
+
const q = query()
|
|
92
|
+
.and(`_type == "instructor"`)
|
|
93
|
+
.and(`slug.current == "${slug}"`)
|
|
94
|
+
.select(
|
|
95
|
+
'name',
|
|
96
|
+
`"slug": slug.current`,
|
|
97
|
+
'short_bio',
|
|
98
|
+
`"thumbnail": thumbnail_url.asset->url`,
|
|
99
|
+
`"lessonCount": count(*[${filter}])`
|
|
100
|
+
)
|
|
101
|
+
.first()
|
|
102
|
+
.build()
|
|
103
|
+
|
|
104
|
+
return fetchSanity(q, true, { processNeedAccess: false, processPageType: false })
|
|
75
105
|
}
|
|
76
106
|
|
|
77
|
-
export interface
|
|
78
|
-
sortOrder?: string
|
|
107
|
+
export interface InstructorLessonsOptions extends BuildQueryOptions {
|
|
79
108
|
searchTerm?: string
|
|
80
|
-
page?: number
|
|
81
|
-
limit?: number
|
|
82
109
|
includedFields?: Array<string>
|
|
83
110
|
}
|
|
84
111
|
|
|
85
|
-
export interface
|
|
112
|
+
export interface InstructorLessons {
|
|
86
113
|
data: Lesson[]
|
|
87
114
|
total: number
|
|
88
115
|
}
|
|
@@ -99,7 +126,7 @@ export interface InstructorLessonsResponse {
|
|
|
99
126
|
* @param {number} [options.limit=10] - The number of items per page.
|
|
100
127
|
* @param {Array<string>} [options.includedFields=[]] - Additional filters to apply to the query in the format of a key,value array. eg. ['difficulty,Intermediate', 'genre,rock'].
|
|
101
128
|
*
|
|
102
|
-
* @returns {Promise<
|
|
129
|
+
* @returns {Promise<InstructorLessons>} - The lessons for the instructor or null if not found.
|
|
103
130
|
* @example
|
|
104
131
|
* fetchInstructorLessons('instructor123')
|
|
105
132
|
* .then(lessons => console.log(lessons))
|
|
@@ -109,26 +136,34 @@ export async function fetchInstructorLessons(
|
|
|
109
136
|
slug: string,
|
|
110
137
|
brand: Brands | string,
|
|
111
138
|
{
|
|
112
|
-
|
|
139
|
+
sort = '-published_on',
|
|
113
140
|
searchTerm = '',
|
|
114
|
-
|
|
141
|
+
offset = 1,
|
|
115
142
|
limit = 20,
|
|
116
143
|
includedFields = [],
|
|
117
|
-
}:
|
|
118
|
-
): Promise<
|
|
144
|
+
}: InstructorLessonsOptions = {}
|
|
145
|
+
): Promise<InstructorLessons> {
|
|
119
146
|
const fieldsString = getFieldsForContentType() as string
|
|
120
|
-
const start = (page - 1) * limit
|
|
121
|
-
const end = start + limit
|
|
122
147
|
const searchFilter = searchTerm ? `&& title match "${searchTerm}*"` : ''
|
|
123
148
|
const includedFieldsFilter = includedFields.length > 0 ? filtersToGroq(includedFields) : ''
|
|
124
149
|
const filter = `brand == '${brand}' ${searchFilter} ${includedFieldsFilter} && references(*[_type=='instructor' && slug.current == '${slug}']._id)`
|
|
125
150
|
const filterWithRestrictions = await new FilterBuilder(filter).buildFilter()
|
|
126
151
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
152
|
+
sort = getSortOrder(sort, brand)
|
|
153
|
+
|
|
154
|
+
const data = query()
|
|
155
|
+
.and(filterWithRestrictions)
|
|
156
|
+
.order(sort)
|
|
157
|
+
.slice(offset, offset + limit)
|
|
158
|
+
.select(...(fieldsString ? [fieldsString] : []))
|
|
159
|
+
.build()
|
|
160
|
+
|
|
161
|
+
const total = query().and(filterWithRestrictions).build()
|
|
162
|
+
|
|
163
|
+
const q = `{
|
|
164
|
+
"data": ${data},
|
|
165
|
+
"total": count(${total})
|
|
166
|
+
}`
|
|
167
|
+
|
|
168
|
+
return fetchSanity(q, true, { processNeedAccess: false, processPageType: false })
|
|
134
169
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/services/content.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/services/types.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/HttpClient.test.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/content.test.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/dataContext.test.js
CHANGED
|
File without changes
|
package/test/forum.test.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/initializeTests.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/localStorageMock.js
CHANGED
|
File without changes
|
package/test/log.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/tools/generate-index.cjs
CHANGED
|
File without changes
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"Bash(find:*)",
|
|
5
|
-
"Bash(docker exec:*)",
|
|
6
|
-
"Bash(npm test:*)",
|
|
7
|
-
"WebSearch",
|
|
8
|
-
"WebFetch(domain:watermelondb.dev)",
|
|
9
|
-
"WebFetch(domain:github.com)",
|
|
10
|
-
"Bash(git checkout:*)",
|
|
11
|
-
"Bash(npm run doc:*)",
|
|
12
|
-
"Bash(cat:*)",
|
|
13
|
-
"Bash(tr:*)"
|
|
14
|
-
],
|
|
15
|
-
"deny": [],
|
|
16
|
-
"ask": []
|
|
17
|
-
}
|
|
18
|
-
}
|