scv-bilara 3.182.61 → 3.193.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.
@@ -1,17 +1,22 @@
1
1
  name: push-actions
2
2
  on: [push]
3
+ #schedule:
4
+ # - cron: 20 3,11,19 * * *
5
+ #workflow_dispatch: # Allows manual trigger from Github UI
3
6
  jobs:
4
7
  push-job:
8
+ timeout-minutes: 30
5
9
  runs-on: ubuntu-latest
10
+ permissions:
11
+ id-token: write # OIDC npm
12
+ contents: write
6
13
  steps:
7
- - uses: actions/checkout@v4
8
- - uses: actions/setup-node@v4
14
+ - uses: actions/checkout@v6
15
+ - uses: actions/setup-node@v6
9
16
  with:
10
17
  node-version: '20.x'
11
- registry-url: 'https://registry.npmjs.org'
18
+ #registry-url: 'https://registry.npmjs.org'
12
19
  - run: scripts/install
13
20
  - run: git config user.name github-actions
14
21
  - run: git config user.email github-actions@github.com
15
22
  - run: npm run push-action
16
- env:
17
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -2,12 +2,17 @@ name: schedule-actions
2
2
  on:
3
3
  schedule:
4
4
  - cron: 20 3,11,19 * * *
5
+ workflow_dispatch: # Allows manual trigger from Github UI
5
6
  jobs:
6
7
  build-job:
8
+ timeout-minutes: 30
7
9
  runs-on: ubuntu-latest
10
+ permissions:
11
+ id-token: write # OIDC npm
12
+ contents: write
8
13
  steps:
9
- - uses: actions/checkout@v4
10
- - uses: actions/setup-node@v4
14
+ - uses: actions/checkout@v6
15
+ - uses: actions/setup-node@v6
11
16
  with:
12
17
  node-version: '20.x'
13
18
  registry-url: 'https://registry.npmjs.org'
@@ -15,5 +20,3 @@ jobs:
15
20
  - run: git config --global user.name github-actions
16
21
  - run: git config --global user.email github-actions@github.com
17
22
  - run: npm run schedule-action
18
- env:
19
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/CLAUDE.md ADDED
@@ -0,0 +1,76 @@
1
+ # CLAUDE.md - scv-bilara Project Guidelines
2
+
3
+ ## Bug Types
4
+
5
+ Two kinds of bugs can cause test failures:
6
+
7
+ 1. **Code Bug**: Code logic is broken (e.g., search algorithm, filtering logic)
8
+ - Fix: Update source code logic
9
+ - Test: Use TESTTEST prefix, run with mocha --grep
10
+
11
+ 2. **Content Bug**: Content has changed since test was written
12
+ - Fix: Update test expectations to match new content
13
+ - Test: Use TESTTEST prefix, run with mocha --grep
14
+
15
+ ## Determining Bug Type During Analysis
16
+
17
+ 1. **Check the actual vs expected values** in test failure
18
+ 2. **Look at the content files** that are being tested
19
+ 3. **Determine if content is present**:
20
+ - If content IS there and test expects it missing → Content Bug
21
+ - If content is missing and test expects it there → Content Bug
22
+ - If content hasn't changed but behavior is wrong → Code Bug
23
+
24
+ ## Content Bug Fixing Process
25
+
26
+ When tests fail due to content changes:
27
+
28
+ ### Understanding
29
+ - Tests represent **past truth** (when tests were written)
30
+ - Content in bilara-data/ebt-data changes over time
31
+ - Test failures indicate content has changed, not that code is broken
32
+ - **Our job**: Update test expectations to match new content reality
33
+ - NOT: Fix code to filter out or exclude content
34
+
35
+ ### Process for Each Failing Test
36
+
37
+ 1. **Analyze**:
38
+ - Run failing test, capture output
39
+ - Check content files (JSON translation files) for what's actually there
40
+ - Identify what changed since test was written
41
+ - **Determine bug type** (Content or Code)
42
+
43
+ 2. **Agree**:
44
+ - Share analysis with developer
45
+ - Confirm understanding of the change
46
+
47
+ 3. **Propose**:
48
+ - Suggest fix (update test expectations)
49
+ - Explain which content was added/changed
50
+
51
+ 4. **Approve**:
52
+ - Get developer approval before making changes
53
+
54
+ 5. **Implement**:
55
+ - Update test file with new expected values
56
+ - Add TESTTEST prefix to test name (e.g., `it("TESTTESTexampleSuttas()"`)
57
+
58
+ 6. **Test**:
59
+ - Run: `npx mocha test/<file>.mjs --grep "TESTTEST"`
60
+ - Verify test passes
61
+ - Remove TESTTEST prefix when confirmed
62
+
63
+ 7. **Next**:
64
+ - Move to next failing test
65
+
66
+ ### Key Files
67
+ - Test files: `/test/*.mjs` and `/test/*.js`
68
+ - Content files: `/local/bilara-data/translation/` and `/local/ebt-data/translation/`
69
+ - JSON structure: `{suttaId:segmentId: "translation text", ...}`
70
+
71
+ ### Example
72
+ When `mn105/de/sabbamitta` content changed to include "Wurzel des Leidens", tests that search for that phrase now return mn105. Update test expectations to include mn105 in expected results.
73
+
74
+ ## Build Status
75
+
76
+ - **v3.192.3**: Node v20 tests all passing (255 tests). All 7 failing tests were Content Bugs fixed by updating test expectations for mn105 German translations.
package/Makefile ADDED
@@ -0,0 +1,9 @@
1
+ .PHONY: commit
2
+
3
+ commit:
4
+ @if [ ! -f .commit-msg ]; then echo "Error: .commit-msg not found"; exit 1; fi
5
+ @MSG=$$(cat .commit-msg); \
6
+ rm .commit-msg; \
7
+ git add .; \
8
+ git commit -m "$$MSG"; \
9
+ git status
package/WORK.md ADDED
@@ -0,0 +1,44 @@
1
+ # WORK.md
2
+
3
+ **Build**: v3.192.2
4
+ **Status**: In Progress
5
+ **Started**: 2025-12-16
6
+
7
+ ## Objective
8
+
9
+ Fix errors found by "npm run test" one-by-one with developer
10
+
11
+ ## Process for Fixing Each Bug (1-7)
12
+
13
+ 1. **Analyze**: Run test, capture failure output, identify what's wrong
14
+ 2. **Agree**: Share analysis with developer, get agreement
15
+ 3. **Propose**: Suggest fix based on analysis, explain reasoning
16
+ 4. **Approve**: Get developer approval before making changes
17
+ 5. **Implement**: Make code changes and add TESTTEST prefix to test name
18
+ 6. **Test**: Run `npx mocha test/<file>.mjs --grep "TESTTEST"` to verify fix works
19
+ 7. **Next**: Move to next bug
20
+
21
+ ## Plan
22
+
23
+ 1. [x] Bug 1: example-v2 exampleSuttas()
24
+ 2. [x] Bug 2: example-v2 suttasOfExamples()
25
+ 3. [x] Bug 3: Seeker phraseSearch(...) finds Deutsch results
26
+ 4. [x] Bug 4: Seeker find({minLang:3}) root of suffering
27
+ 5. [x] Bug 5: Seeker find(...) => finds phrase
28
+ 6. [x] Bug 6: Seeker find() keywords: wurzel leidens
29
+ 7. [x] Bug 7: Seeker find(...) ignores translation stubs
30
+
31
+ ## Current Step
32
+
33
+ Complete - All 7 bugs fixed, 255 tests passing
34
+
35
+ ## Blockers
36
+
37
+ None
38
+
39
+ ## Notes
40
+
41
+ - 248 passing, 7 failing tests
42
+ - All failures involve unwanted inclusion of mn105 in search results
43
+ - Bug 1 FIXED: Updated test to include mn105 in expected results
44
+ - All bugs appear to be Content Bugs (content changed, not code broken)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scv-bilara",
3
- "version": "3.182.61",
3
+ "version": "3.193.0",
4
4
  "description": "SuttaCentral bilara-data library",
5
5
  "main": "index.js",
6
6
  "directories": {
@@ -9,14 +9,13 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "check-node-version": "^4.0.1",
12
- "esm": "^3.2.25",
13
12
  "js-ebt": "^1.0.1",
14
13
  "json5": "^2.1.3",
15
- "log-instance": "^1.6.0",
14
+ "log-instance": "^1.8.0",
16
15
  "memo-again": "^0.10.0",
17
16
  "merkle-json": "^2.2.0",
18
- "scv-esm": "^1.115.897",
19
- "suttacentral-api": "^2.17.70",
17
+ "scv-esm": "^1.123.0",
18
+ "suttacentral-api": "^2.24.0",
20
19
  "tmp": "^0.2.3"
21
20
  },
22
21
  "devDependencies": {
@@ -4,9 +4,9 @@ pushd $DIR/..
4
4
  SCRIPT=`basename $0 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
5
5
 
6
6
  echo "npm version:" `npm -v`
7
- npm install --save suttacentral-api@latest
8
- npm install --save scv-esm@latest
9
- npm install --save log-instance@latest
10
- npm install --save memo-again@latest
7
+ npm install --verbose --save scv-esm@latest
8
+ npm install --verbose --save suttacentral-api@latest
9
+ npm install --verbose --save log-instance@latest
10
+ npm install --verbose --save memo-again@latest
11
11
  $DIR/js/suidmap.js
12
12
  $DIR/examples PUSH
@@ -38,7 +38,7 @@
38
38
  {
39
39
  "id": "ach!",
40
40
  "group": "Examples",
41
- "links": 18
41
+ "links": 14
42
42
  },
43
43
  {
44
44
  "id": "acht Befreiungen",
@@ -853,7 +853,7 @@
853
853
  {
854
854
  "id": "die Tore zur Unsterblichkeit",
855
855
  "group": "Examples",
856
- "links": 5
856
+ "links": 0
857
857
  },
858
858
  {
859
859
  "id": "die Unbeständigkeit aller Bedingungen",
@@ -1228,7 +1228,7 @@
1228
1228
  {
1229
1229
  "id": "Element de",
1230
1230
  "group": "Examples",
1231
- "links": 31
1231
+ "links": 28
1232
1232
  },
1233
1233
  {
1234
1234
  "id": "Ende der Welt",
@@ -3368,7 +3368,7 @@
3368
3368
  {
3369
3369
  "id": "Tor zur Unsterblichkeit",
3370
3370
  "group": "Examples",
3371
- "links": 12
3371
+ "links": 0
3372
3372
  },
3373
3373
  {
3374
3374
  "id": "töte ich",
@@ -4576,7 +4576,7 @@
4576
4576
  "id": "mn26",
4577
4577
  "group": "mn",
4578
4578
  "rank": 1,
4579
- "links": 21
4579
+ "links": 18
4580
4580
  },
4581
4581
  {
4582
4582
  "id": "mn36",
@@ -4594,7 +4594,7 @@
4594
4594
  "id": "mn85",
4595
4595
  "group": "mn",
4596
4596
  "rank": 1,
4597
- "links": 29
4597
+ "links": 26
4598
4598
  },
4599
4599
  {
4600
4600
  "id": "an8.77",
@@ -4648,19 +4648,19 @@
4648
4648
  "id": "sn12.27",
4649
4649
  "group": "sn",
4650
4650
  "rank": 1,
4651
- "links": 2
4651
+ "links": 1
4652
4652
  },
4653
4653
  {
4654
4654
  "id": "sn12.28",
4655
4655
  "group": "sn",
4656
4656
  "rank": 2,
4657
- "links": 2
4657
+ "links": 1
4658
4658
  },
4659
4659
  {
4660
4660
  "id": "sn12.33",
4661
4661
  "group": "sn",
4662
4662
  "rank": 1,
4663
- "links": 3
4663
+ "links": 2
4664
4664
  },
4665
4665
  {
4666
4666
  "id": "sn12.2",
@@ -4752,12 +4752,6 @@
4752
4752
  "rank": 2,
4753
4753
  "links": 4
4754
4754
  },
4755
- {
4756
- "id": "sn6.1",
4757
- "group": "sn",
4758
- "rank": 1,
4759
- "links": 9
4760
- },
4761
4755
  {
4762
4756
  "id": "sn15.20",
4763
4757
  "group": "sn",
@@ -4800,12 +4794,6 @@
4800
4794
  "rank": 1,
4801
4795
  "links": 9
4802
4796
  },
4803
- {
4804
- "id": "dn14",
4805
- "group": "dn",
4806
- "rank": 1,
4807
- "links": 31
4808
- },
4809
4797
  {
4810
4798
  "id": "dn16",
4811
4799
  "group": "dn",
@@ -5214,6 +5202,12 @@
5214
5202
  "rank": 4,
5215
5203
  "links": 3
5216
5204
  },
5205
+ {
5206
+ "id": "dn14",
5207
+ "group": "dn",
5208
+ "rank": 1,
5209
+ "links": 29
5210
+ },
5217
5211
  {
5218
5212
  "id": "an3.32",
5219
5213
  "group": "an",
@@ -6154,7 +6148,7 @@
6154
6148
  "id": "dn18",
6155
6149
  "group": "dn",
6156
6150
  "rank": 1,
6157
- "links": 10
6151
+ "links": 9
6158
6152
  },
6159
6153
  {
6160
6154
  "id": "sn46.52",
@@ -6894,6 +6888,12 @@
6894
6888
  "rank": 6,
6895
6889
  "links": 7
6896
6890
  },
6891
+ {
6892
+ "id": "sn6.1",
6893
+ "group": "sn",
6894
+ "rank": 1,
6895
+ "links": 6
6896
+ },
6897
6897
  {
6898
6898
  "id": "an5.140",
6899
6899
  "group": "an",
@@ -6904,7 +6904,7 @@
6904
6904
  "id": "mn64",
6905
6905
  "group": "mn",
6906
6906
  "rank": 1,
6907
- "links": 9
6907
+ "links": 8
6908
6908
  },
6909
6909
  {
6910
6910
  "id": "an10.63",
@@ -10335,14 +10335,14 @@
10335
10335
  {
10336
10336
  "id": "an11.16",
10337
10337
  "group": "an",
10338
- "rank": 9,
10339
- "links": 3
10338
+ "rank": 11,
10339
+ "links": 2
10340
10340
  },
10341
10341
  {
10342
10342
  "id": "mn52",
10343
10343
  "group": "mn",
10344
- "rank": 10,
10345
- "links": 3
10344
+ "rank": 13,
10345
+ "links": 2
10346
10346
  },
10347
10347
  {
10348
10348
  "id": "mn97",
@@ -10665,7 +10665,7 @@
10665
10665
  {
10666
10666
  "id": "iti51",
10667
10667
  "group": "iti",
10668
- "rank": 13,
10668
+ "rank": 14,
10669
10669
  "links": 1
10670
10670
  },
10671
10671
  {
@@ -10692,18 +10692,6 @@
10692
10692
  "rank": 19,
10693
10693
  "links": 1
10694
10694
  },
10695
- {
10696
- "id": "iti73",
10697
- "group": "iti",
10698
- "rank": 3,
10699
- "links": 2
10700
- },
10701
- {
10702
- "id": "an6.46",
10703
- "group": "an",
10704
- "rank": 1,
10705
- "links": 4
10706
- },
10707
10695
  {
10708
10696
  "id": "ud8.5",
10709
10697
  "group": "ud",
@@ -11856,6 +11844,12 @@
11856
11844
  "rank": 2,
11857
11845
  "links": 2
11858
11846
  },
11847
+ {
11848
+ "id": "iti73",
11849
+ "group": "iti",
11850
+ "rank": 3,
11851
+ "links": 1
11852
+ },
11859
11853
  {
11860
11854
  "id": "an5.34",
11861
11855
  "group": "an",
@@ -14368,7 +14362,7 @@
14368
14362
  "id": "mn34",
14369
14363
  "group": "mn",
14370
14364
  "rank": 4,
14371
- "links": 3
14365
+ "links": 2
14372
14366
  },
14373
14367
  {
14374
14368
  "id": "an11.502-981",
@@ -14730,6 +14724,12 @@
14730
14724
  "rank": 2,
14731
14725
  "links": 2
14732
14726
  },
14727
+ {
14728
+ "id": "an6.46",
14729
+ "group": "an",
14730
+ "rank": 1,
14731
+ "links": 3
14732
+ },
14733
14733
  {
14734
14734
  "id": "sn48.21",
14735
14735
  "group": "sn",
@@ -16368,24 +16368,6 @@
16368
16368
  "rank": 1,
16369
16369
  "links": 2
16370
16370
  },
16371
- {
16372
- "id": "iti84",
16373
- "group": "iti",
16374
- "rank": 2,
16375
- "links": 1
16376
- },
16377
- {
16378
- "id": "sn12.49",
16379
- "group": "sn",
16380
- "rank": 4,
16381
- "links": 2
16382
- },
16383
- {
16384
- "id": "sn12.50",
16385
- "group": "sn",
16386
- "rank": 5,
16387
- "links": 2
16388
- },
16389
16371
  {
16390
16372
  "id": "an4.111",
16391
16373
  "group": "an",
@@ -16740,6 +16722,18 @@
16740
16722
  "rank": 9,
16741
16723
  "links": 1
16742
16724
  },
16725
+ {
16726
+ "id": "sn12.49",
16727
+ "group": "sn",
16728
+ "rank": 9,
16729
+ "links": 1
16730
+ },
16731
+ {
16732
+ "id": "sn12.50",
16733
+ "group": "sn",
16734
+ "rank": 10,
16735
+ "links": 1
16736
+ },
16743
16737
  {
16744
16738
  "id": "an4.258",
16745
16739
  "group": "an",
@@ -18520,65 +18514,45 @@
18520
18514
  "target": "sn6.15",
18521
18515
  "rank": 6
18522
18516
  },
18523
- {
18524
- "source": "ach!",
18525
- "target": "sn6.1",
18526
- "rank": 7
18527
- },
18528
18517
  {
18529
18518
  "source": "ach!",
18530
18519
  "target": "sn15.20",
18531
- "rank": 8
18520
+ "rank": 7
18532
18521
  },
18533
18522
  {
18534
18523
  "source": "ach!",
18535
18524
  "target": "thag16.4",
18536
- "rank": 9
18525
+ "rank": 8
18537
18526
  },
18538
18527
  {
18539
18528
  "source": "ach!",
18540
18529
  "target": "mn99",
18541
- "rank": 10
18542
- },
18543
- {
18544
- "source": "ach!",
18545
- "target": "mn26",
18546
- "rank": 11
18530
+ "rank": 9
18547
18531
  },
18548
18532
  {
18549
18533
  "source": "ach!",
18550
18534
  "target": "thag20.1",
18551
- "rank": 12
18535
+ "rank": 10
18552
18536
  },
18553
18537
  {
18554
18538
  "source": "ach!",
18555
18539
  "target": "dn17",
18556
- "rank": 13
18540
+ "rank": 11
18557
18541
  },
18558
18542
  {
18559
18543
  "source": "ach!",
18560
18544
  "target": "dn21",
18561
- "rank": 14
18545
+ "rank": 12
18562
18546
  },
18563
18547
  {
18564
18548
  "source": "ach!",
18565
18549
  "target": "mn82",
18566
- "rank": 15
18567
- },
18568
- {
18569
- "source": "ach!",
18570
- "target": "mn85",
18571
- "rank": 16
18572
- },
18573
- {
18574
- "source": "ach!",
18575
- "target": "dn14",
18576
- "rank": 17
18550
+ "rank": 13
18577
18551
  },
18578
18552
  {
18579
18553
  "source": "ach!",
18580
18554
  "target": "dn16",
18581
- "rank": 18
18555
+ "rank": 14
18582
18556
  },
18583
18557
  {
18584
18558
  "source": "acht Befreiungen",
@@ -24270,31 +24244,6 @@
24270
24244
  "target": "an4.21",
24271
24245
  "rank": 2
24272
24246
  },
24273
- {
24274
- "source": "die Tore zur Unsterblichkeit",
24275
- "target": "dn18",
24276
- "rank": 1
24277
- },
24278
- {
24279
- "source": "die Tore zur Unsterblichkeit",
24280
- "target": "sn6.1",
24281
- "rank": 2
24282
- },
24283
- {
24284
- "source": "die Tore zur Unsterblichkeit",
24285
- "target": "mn26",
24286
- "rank": 3
24287
- },
24288
- {
24289
- "source": "die Tore zur Unsterblichkeit",
24290
- "target": "mn85",
24291
- "rank": 4
24292
- },
24293
- {
24294
- "source": "die Tore zur Unsterblichkeit",
24295
- "target": "dn14",
24296
- "rank": 5
24297
- },
24298
24247
  {
24299
24248
  "source": "die Unbeständigkeit aller Bedingungen",
24300
24249
  "target": "iti85",
@@ -26662,12 +26611,12 @@
26662
26611
  },
26663
26612
  {
26664
26613
  "source": "Element de",
26665
- "target": "iti51",
26614
+ "target": "an6.111",
26666
26615
  "rank": 13
26667
26616
  },
26668
26617
  {
26669
26618
  "source": "Element de",
26670
- "target": "an6.111",
26619
+ "target": "iti51",
26671
26620
  "rank": 14
26672
26621
  },
26673
26622
  {
@@ -26695,65 +26644,50 @@
26695
26644
  "target": "sn14.13",
26696
26645
  "rank": 19
26697
26646
  },
26698
- {
26699
- "source": "Element de",
26700
- "target": "iti73",
26701
- "rank": 20
26702
- },
26703
- {
26704
- "source": "Element de",
26705
- "target": "an6.46",
26706
- "rank": 21
26707
- },
26708
26647
  {
26709
26648
  "source": "Element de",
26710
26649
  "target": "sn22.47",
26711
- "rank": 22
26650
+ "rank": 20
26712
26651
  },
26713
26652
  {
26714
26653
  "source": "Element de",
26715
26654
  "target": "an4.23",
26716
- "rank": 23
26655
+ "rank": 21
26717
26656
  },
26718
26657
  {
26719
26658
  "source": "Element de",
26720
26659
  "target": "iti112",
26721
- "rank": 24
26660
+ "rank": 22
26722
26661
  },
26723
26662
  {
26724
26663
  "source": "Element de",
26725
26664
  "target": "an8.19",
26726
- "rank": 25
26665
+ "rank": 23
26727
26666
  },
26728
26667
  {
26729
26668
  "source": "Element de",
26730
26669
  "target": "an8.70",
26731
- "rank": 26
26670
+ "rank": 24
26732
26671
  },
26733
26672
  {
26734
26673
  "source": "Element de",
26735
26674
  "target": "ud8.5",
26736
- "rank": 27
26675
+ "rank": 25
26737
26676
  },
26738
26677
  {
26739
26678
  "source": "Element de",
26740
26679
  "target": "ud5.5",
26741
- "rank": 28
26742
- },
26743
- {
26744
- "source": "Element de",
26745
- "target": "mn64",
26746
- "rank": 29
26680
+ "rank": 26
26747
26681
  },
26748
26682
  {
26749
26683
  "source": "Element de",
26750
26684
  "target": "mn115",
26751
- "rank": 30
26685
+ "rank": 27
26752
26686
  },
26753
26687
  {
26754
26688
  "source": "Element de",
26755
26689
  "target": "dn29",
26756
- "rank": 31
26690
+ "rank": 28
26757
26691
  },
26758
26692
  {
26759
26693
  "source": "Ende der Welt",
@@ -41825,66 +41759,6 @@
41825
41759
  "target": "sn12.63",
41826
41760
  "rank": 14
41827
41761
  },
41828
- {
41829
- "source": "Tor zur Unsterblichkeit",
41830
- "target": "sn12.33",
41831
- "rank": 1
41832
- },
41833
- {
41834
- "source": "Tor zur Unsterblichkeit",
41835
- "target": "iti84",
41836
- "rank": 2
41837
- },
41838
- {
41839
- "source": "Tor zur Unsterblichkeit",
41840
- "target": "sn12.27",
41841
- "rank": 3
41842
- },
41843
- {
41844
- "source": "Tor zur Unsterblichkeit",
41845
- "target": "sn12.49",
41846
- "rank": 4
41847
- },
41848
- {
41849
- "source": "Tor zur Unsterblichkeit",
41850
- "target": "sn12.50",
41851
- "rank": 5
41852
- },
41853
- {
41854
- "source": "Tor zur Unsterblichkeit",
41855
- "target": "mn34",
41856
- "rank": 6
41857
- },
41858
- {
41859
- "source": "Tor zur Unsterblichkeit",
41860
- "target": "sn6.1",
41861
- "rank": 7
41862
- },
41863
- {
41864
- "source": "Tor zur Unsterblichkeit",
41865
- "target": "sn12.28",
41866
- "rank": 8
41867
- },
41868
- {
41869
- "source": "Tor zur Unsterblichkeit",
41870
- "target": "an11.16",
41871
- "rank": 9
41872
- },
41873
- {
41874
- "source": "Tor zur Unsterblichkeit",
41875
- "target": "mn52",
41876
- "rank": 10
41877
- },
41878
- {
41879
- "source": "Tor zur Unsterblichkeit",
41880
- "target": "mn26",
41881
- "rank": 11
41882
- },
41883
- {
41884
- "source": "Tor zur Unsterblichkeit",
41885
- "target": "mn85",
41886
- "rank": 12
41887
- },
41888
41762
  {
41889
41763
  "source": "töte ich",
41890
41764
  "target": "an4.111",
@@ -0,0 +1,4 @@
1
+ {
2
+ "nodes": [],
3
+ "links": []
4
+ }
@@ -14894,142 +14894,170 @@
14894
14894
  "sn9.1": {
14895
14895
  "translation/de/sabbamitta": "sutta/sn/sn9",
14896
14896
  "translation/en/sujato": "sutta/sn/sn9",
14897
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14897
14898
  "root/pli/ms": "sutta/sn/sn9"
14898
14899
  },
14899
14900
  "sn9.2": {
14900
14901
  "translation/de/sabbamitta": "sutta/sn/sn9",
14901
14902
  "translation/en/sujato": "sutta/sn/sn9",
14903
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14902
14904
  "root/pli/ms": "sutta/sn/sn9"
14903
14905
  },
14904
14906
  "sn9.3": {
14905
14907
  "translation/de/sabbamitta": "sutta/sn/sn9",
14906
14908
  "translation/en/sujato": "sutta/sn/sn9",
14909
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14907
14910
  "root/pli/ms": "sutta/sn/sn9"
14908
14911
  },
14909
14912
  "sn9.4": {
14910
14913
  "translation/de/sabbamitta": "sutta/sn/sn9",
14911
14914
  "translation/en/sujato": "sutta/sn/sn9",
14915
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14912
14916
  "root/pli/ms": "sutta/sn/sn9"
14913
14917
  },
14914
14918
  "sn9.5": {
14915
14919
  "translation/de/sabbamitta": "sutta/sn/sn9",
14916
14920
  "translation/en/sujato": "sutta/sn/sn9",
14921
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14917
14922
  "root/pli/ms": "sutta/sn/sn9"
14918
14923
  },
14919
14924
  "sn9.6": {
14920
14925
  "translation/de/sabbamitta": "sutta/sn/sn9",
14921
14926
  "translation/en/sujato": "sutta/sn/sn9",
14927
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14922
14928
  "root/pli/ms": "sutta/sn/sn9"
14923
14929
  },
14924
14930
  "sn9.7": {
14925
14931
  "translation/de/sabbamitta": "sutta/sn/sn9",
14926
14932
  "translation/en/sujato": "sutta/sn/sn9",
14933
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14927
14934
  "root/pli/ms": "sutta/sn/sn9"
14928
14935
  },
14929
14936
  "sn9.8": {
14930
14937
  "translation/de/sabbamitta": "sutta/sn/sn9",
14931
14938
  "translation/en/sujato": "sutta/sn/sn9",
14939
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14932
14940
  "root/pli/ms": "sutta/sn/sn9"
14933
14941
  },
14934
14942
  "sn9.9": {
14935
14943
  "translation/de/sabbamitta": "sutta/sn/sn9",
14936
14944
  "translation/en/sujato": "sutta/sn/sn9",
14945
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14937
14946
  "root/pli/ms": "sutta/sn/sn9"
14938
14947
  },
14939
14948
  "sn9.10": {
14940
14949
  "translation/de/sabbamitta": "sutta/sn/sn9",
14941
14950
  "translation/en/sujato": "sutta/sn/sn9",
14951
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14942
14952
  "root/pli/ms": "sutta/sn/sn9"
14943
14953
  },
14944
14954
  "sn9.11": {
14945
14955
  "translation/de/sabbamitta": "sutta/sn/sn9",
14946
14956
  "translation/en/sujato": "sutta/sn/sn9",
14957
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14947
14958
  "root/pli/ms": "sutta/sn/sn9"
14948
14959
  },
14949
14960
  "sn9.12": {
14950
14961
  "translation/de/sabbamitta": "sutta/sn/sn9",
14951
14962
  "translation/en/sujato": "sutta/sn/sn9",
14963
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14952
14964
  "root/pli/ms": "sutta/sn/sn9"
14953
14965
  },
14954
14966
  "sn9.13": {
14955
14967
  "translation/de/sabbamitta": "sutta/sn/sn9",
14956
14968
  "translation/en/sujato": "sutta/sn/sn9",
14969
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14957
14970
  "root/pli/ms": "sutta/sn/sn9"
14958
14971
  },
14959
14972
  "sn9.14": {
14960
14973
  "translation/de/sabbamitta": "sutta/sn/sn9",
14961
14974
  "translation/en/sujato": "sutta/sn/sn9",
14975
+ "translation/sr/brankokovacevic": "sutta/sn/sn9",
14962
14976
  "root/pli/ms": "sutta/sn/sn9"
14963
14977
  },
14964
14978
  "sn10.1": {
14965
14979
  "translation/de/sabbamitta": "sutta/sn/sn10",
14966
14980
  "translation/en/sujato": "sutta/sn/sn10",
14981
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14967
14982
  "root/pli/ms": "sutta/sn/sn10"
14968
14983
  },
14969
14984
  "sn10.2": {
14970
14985
  "translation/de/sabbamitta": "sutta/sn/sn10",
14971
14986
  "translation/en/sujato": "sutta/sn/sn10",
14987
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14972
14988
  "root/pli/ms": "sutta/sn/sn10"
14973
14989
  },
14974
14990
  "sn10.3": {
14975
14991
  "translation/de/sabbamitta": "sutta/sn/sn10",
14976
14992
  "translation/en/sujato": "sutta/sn/sn10",
14993
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14977
14994
  "root/pli/ms": "sutta/sn/sn10"
14978
14995
  },
14979
14996
  "sn10.4": {
14980
14997
  "translation/de/sabbamitta": "sutta/sn/sn10",
14981
14998
  "translation/en/sujato": "sutta/sn/sn10",
14999
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14982
15000
  "root/pli/ms": "sutta/sn/sn10"
14983
15001
  },
14984
15002
  "sn10.5": {
14985
15003
  "translation/de/sabbamitta": "sutta/sn/sn10",
14986
15004
  "translation/en/sujato": "sutta/sn/sn10",
15005
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14987
15006
  "root/pli/ms": "sutta/sn/sn10"
14988
15007
  },
14989
15008
  "sn10.6": {
14990
15009
  "translation/de/sabbamitta": "sutta/sn/sn10",
14991
15010
  "translation/en/sujato": "sutta/sn/sn10",
15011
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14992
15012
  "root/pli/ms": "sutta/sn/sn10"
14993
15013
  },
14994
15014
  "sn10.7": {
14995
15015
  "translation/de/sabbamitta": "sutta/sn/sn10",
14996
15016
  "translation/en/sujato": "sutta/sn/sn10",
15017
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14997
15018
  "root/pli/ms": "sutta/sn/sn10"
14998
15019
  },
14999
15020
  "sn10.8": {
15000
15021
  "translation/de/sabbamitta": "sutta/sn/sn10",
15001
15022
  "translation/en/sujato": "sutta/sn/sn10",
15023
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15002
15024
  "root/pli/ms": "sutta/sn/sn10"
15003
15025
  },
15004
15026
  "sn10.9": {
15005
15027
  "translation/de/sabbamitta": "sutta/sn/sn10",
15006
15028
  "translation/en/sujato": "sutta/sn/sn10",
15029
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15007
15030
  "root/pli/ms": "sutta/sn/sn10"
15008
15031
  },
15009
15032
  "sn10.10": {
15010
15033
  "translation/de/sabbamitta": "sutta/sn/sn10",
15011
15034
  "translation/en/sujato": "sutta/sn/sn10",
15035
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15012
15036
  "root/pli/ms": "sutta/sn/sn10"
15013
15037
  },
15014
15038
  "sn10.11": {
15015
15039
  "translation/de/sabbamitta": "sutta/sn/sn10",
15016
15040
  "translation/en/sujato": "sutta/sn/sn10",
15041
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15017
15042
  "root/pli/ms": "sutta/sn/sn10"
15018
15043
  },
15019
15044
  "sn10.12": {
15020
15045
  "translation/de/sabbamitta": "sutta/sn/sn10",
15021
15046
  "translation/en/sujato": "sutta/sn/sn10",
15047
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15022
15048
  "root/pli/ms": "sutta/sn/sn10"
15023
15049
  },
15024
15050
  "sn11.1": {
15025
15051
  "translation/de/sabbamitta": "sutta/sn/sn11",
15026
15052
  "translation/en/sujato": "sutta/sn/sn11",
15027
15053
  "translation/ru/sv": "sutta/sn/sn11",
15054
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15028
15055
  "root/pli/ms": "sutta/sn/sn11"
15029
15056
  },
15030
15057
  "sn11.2": {
15031
15058
  "translation/de/sabbamitta": "sutta/sn/sn11",
15032
15059
  "translation/en/sujato": "sutta/sn/sn11",
15060
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15033
15061
  "root/pli/ms": "sutta/sn/sn11"
15034
15062
  },
15035
15063
  "sn11.3": {
@@ -15037,118 +15065,141 @@
15037
15065
  "translation/en/sujato": "sutta/sn/sn11",
15038
15066
  "translation/lt/piyadassi": "sutta/sn/sn11",
15039
15067
  "translation/ru/sv": "sutta/sn/sn11",
15068
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15040
15069
  "root/pli/ms": "sutta/sn/sn11"
15041
15070
  },
15042
15071
  "sn11.4": {
15043
15072
  "translation/de/sabbamitta": "sutta/sn/sn11",
15044
15073
  "translation/en/sujato": "sutta/sn/sn11",
15074
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15045
15075
  "root/pli/ms": "sutta/sn/sn11"
15046
15076
  },
15047
15077
  "sn11.5": {
15048
15078
  "translation/de/sabbamitta": "sutta/sn/sn11",
15049
15079
  "translation/en/sujato": "sutta/sn/sn11",
15050
15080
  "translation/lt/piyadassi": "sutta/sn/sn11",
15081
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15051
15082
  "root/pli/ms": "sutta/sn/sn11"
15052
15083
  },
15053
15084
  "sn11.6": {
15054
15085
  "translation/de/sabbamitta": "sutta/sn/sn11",
15055
15086
  "translation/en/sujato": "sutta/sn/sn11",
15087
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15056
15088
  "root/pli/ms": "sutta/sn/sn11"
15057
15089
  },
15058
15090
  "sn11.7": {
15059
15091
  "translation/de/sabbamitta": "sutta/sn/sn11",
15060
15092
  "translation/en/sujato": "sutta/sn/sn11",
15093
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15061
15094
  "root/pli/ms": "sutta/sn/sn11"
15062
15095
  },
15063
15096
  "sn11.8": {
15064
15097
  "translation/de/sabbamitta": "sutta/sn/sn11",
15065
15098
  "translation/en/sujato": "sutta/sn/sn11",
15099
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15066
15100
  "root/pli/ms": "sutta/sn/sn11"
15067
15101
  },
15068
15102
  "sn11.9": {
15069
15103
  "translation/de/sabbamitta": "sutta/sn/sn11",
15070
15104
  "translation/en/sujato": "sutta/sn/sn11",
15105
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15071
15106
  "root/pli/ms": "sutta/sn/sn11"
15072
15107
  },
15073
15108
  "sn11.10": {
15074
15109
  "translation/de/sabbamitta": "sutta/sn/sn11",
15075
15110
  "translation/en/sujato": "sutta/sn/sn11",
15111
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15076
15112
  "root/pli/ms": "sutta/sn/sn11"
15077
15113
  },
15078
15114
  "sn11.11": {
15079
15115
  "translation/de/sabbamitta": "sutta/sn/sn11",
15080
15116
  "translation/en/sujato": "sutta/sn/sn11",
15117
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15081
15118
  "root/pli/ms": "sutta/sn/sn11"
15082
15119
  },
15083
15120
  "sn11.12": {
15084
15121
  "translation/de/sabbamitta": "sutta/sn/sn11",
15085
15122
  "translation/en/sujato": "sutta/sn/sn11",
15123
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15086
15124
  "root/pli/ms": "sutta/sn/sn11"
15087
15125
  },
15088
15126
  "sn11.13": {
15089
15127
  "translation/de/sabbamitta": "sutta/sn/sn11",
15090
15128
  "translation/en/sujato": "sutta/sn/sn11",
15129
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15091
15130
  "root/pli/ms": "sutta/sn/sn11"
15092
15131
  },
15093
15132
  "sn11.14": {
15094
15133
  "translation/de/sabbamitta": "sutta/sn/sn11",
15095
15134
  "translation/en/sujato": "sutta/sn/sn11",
15135
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15096
15136
  "root/pli/ms": "sutta/sn/sn11"
15097
15137
  },
15098
15138
  "sn11.15": {
15099
15139
  "translation/de/sabbamitta": "sutta/sn/sn11",
15100
15140
  "translation/en/sujato": "sutta/sn/sn11",
15141
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15101
15142
  "root/pli/ms": "sutta/sn/sn11"
15102
15143
  },
15103
15144
  "sn11.16": {
15104
15145
  "translation/de/sabbamitta": "sutta/sn/sn11",
15105
15146
  "translation/en/sujato": "sutta/sn/sn11",
15147
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15106
15148
  "root/pli/ms": "sutta/sn/sn11"
15107
15149
  },
15108
15150
  "sn11.17": {
15109
15151
  "translation/de/sabbamitta": "sutta/sn/sn11",
15110
15152
  "translation/en/sujato": "sutta/sn/sn11",
15153
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15111
15154
  "root/pli/ms": "sutta/sn/sn11"
15112
15155
  },
15113
15156
  "sn11.18": {
15114
15157
  "translation/de/sabbamitta": "sutta/sn/sn11",
15115
15158
  "translation/en/sujato": "sutta/sn/sn11",
15159
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15116
15160
  "root/pli/ms": "sutta/sn/sn11"
15117
15161
  },
15118
15162
  "sn11.19": {
15119
15163
  "translation/de/sabbamitta": "sutta/sn/sn11",
15120
15164
  "translation/en/sujato": "sutta/sn/sn11",
15165
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15121
15166
  "root/pli/ms": "sutta/sn/sn11"
15122
15167
  },
15123
15168
  "sn11.20": {
15124
15169
  "translation/de/sabbamitta": "sutta/sn/sn11",
15125
15170
  "translation/en/sujato": "sutta/sn/sn11",
15171
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15126
15172
  "root/pli/ms": "sutta/sn/sn11"
15127
15173
  },
15128
15174
  "sn11.21": {
15129
15175
  "translation/de/sabbamitta": "sutta/sn/sn11",
15130
15176
  "translation/en/sujato": "sutta/sn/sn11",
15177
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15131
15178
  "root/pli/ms": "sutta/sn/sn11"
15132
15179
  },
15133
15180
  "sn11.22": {
15134
15181
  "translation/de/sabbamitta": "sutta/sn/sn11",
15135
15182
  "translation/en/sujato": "sutta/sn/sn11",
15136
15183
  "translation/lt/piyadassi": "sutta/sn/sn11",
15184
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15137
15185
  "root/pli/ms": "sutta/sn/sn11"
15138
15186
  },
15139
15187
  "sn11.23": {
15140
15188
  "translation/de/sabbamitta": "sutta/sn/sn11",
15141
15189
  "translation/en/sujato": "sutta/sn/sn11",
15190
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15142
15191
  "root/pli/ms": "sutta/sn/sn11"
15143
15192
  },
15144
15193
  "sn11.24": {
15145
15194
  "translation/de/sabbamitta": "sutta/sn/sn11",
15146
15195
  "translation/en/sujato": "sutta/sn/sn11",
15196
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15147
15197
  "root/pli/ms": "sutta/sn/sn11"
15148
15198
  },
15149
15199
  "sn11.25": {
15150
15200
  "translation/de/sabbamitta": "sutta/sn/sn11",
15151
15201
  "translation/en/sujato": "sutta/sn/sn11",
15202
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15152
15203
  "root/pli/ms": "sutta/sn/sn11"
15153
15204
  },
15154
15205
  "sn12.1": {
@@ -54,6 +54,9 @@
54
54
  let { root } = bilaraData;
55
55
  author = author || AuthorsV2.langAuthor(lang);
56
56
  let authorInfo = AuthorsV2.authorInfo(author);
57
+ if (!authorInfo) {
58
+ return null;
59
+ }
57
60
  let { exampleVersion:egVer } = authorInfo;
58
61
  let pathDir = `${root}/examples`;
59
62
  let fname = [
@@ -68,6 +71,9 @@
68
71
 
69
72
  async examples() {
70
73
  let egPath = this.langAuthorPath();
74
+ if (egPath == null) {
75
+ return []
76
+ }
71
77
  let text = (await fs.promises.readFile(egPath)).toString();
72
78
  return text.split('\n');
73
79
  }