@skillsmith/core 0.5.3 → 0.5.4
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/CHANGELOG.md +10 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/activation/ActivationManager.d.ts +7 -0
- package/dist/src/activation/ActivationManager.d.ts.map +1 -1
- package/dist/src/activation/ActivationManager.js +13 -4
- package/dist/src/activation/ActivationManager.js.map +1 -1
- package/dist/src/analysis/adapters/python.d.ts +16 -11
- package/dist/src/analysis/adapters/python.d.ts.map +1 -1
- package/dist/src/analysis/adapters/python.js +46 -61
- package/dist/src/analysis/adapters/python.js.map +1 -1
- package/dist/src/analysis/router.test.d.ts +2 -0
- package/dist/src/analysis/router.test.d.ts.map +1 -0
- package/dist/src/analysis/router.test.js +411 -0
- package/dist/src/analysis/router.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts.map +1 -1
- package/dist/src/analysis/tree-sitter/manager.js +12 -5
- package/dist/src/analysis/tree-sitter/manager.js.map +1 -1
- package/dist/src/analysis/tree-sitter/pythonExtractor.d.ts +45 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.js +264 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.d.ts +12 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.js +74 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.d.ts +93 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.d.ts +22 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.js +229 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.js +287 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.d.ts +17 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.js +142 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/queries/python.d.ts +43 -0
- package/dist/src/analysis/tree-sitter/queries/python.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/queries/python.js +88 -0
- package/dist/src/analysis/tree-sitter/queries/python.js.map +1 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.d.ts +13 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.js +174 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.js.map +1 -0
- package/dist/src/analytics/ROIDashboardService.csv.d.ts +11 -0
- package/dist/src/analytics/ROIDashboardService.csv.d.ts.map +1 -0
- package/dist/src/analytics/ROIDashboardService.csv.js +43 -0
- package/dist/src/analytics/ROIDashboardService.csv.js.map +1 -0
- package/dist/src/analytics/ROIDashboardService.d.ts +64 -3
- package/dist/src/analytics/ROIDashboardService.d.ts.map +1 -1
- package/dist/src/analytics/ROIDashboardService.js +116 -45
- package/dist/src/analytics/ROIDashboardService.js.map +1 -1
- package/dist/src/api/schemas.d.ts +70 -319
- package/dist/src/api/schemas.d.ts.map +1 -1
- package/dist/src/benchmarks/incrementalParseBenchmark.d.ts +18 -0
- package/dist/src/benchmarks/incrementalParseBenchmark.d.ts.map +1 -0
- package/dist/src/benchmarks/incrementalParseBenchmark.js +121 -0
- package/dist/src/benchmarks/incrementalParseBenchmark.js.map +1 -0
- package/dist/src/billing/GDPRComplianceService.test.d.ts +2 -0
- package/dist/src/billing/GDPRComplianceService.test.d.ts.map +1 -0
- package/dist/src/billing/GDPRComplianceService.test.js +405 -0
- package/dist/src/billing/GDPRComplianceService.test.js.map +1 -0
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/SkillParser.coverage.test.d.ts +10 -0
- package/dist/src/indexer/SkillParser.coverage.test.d.ts.map +1 -0
- package/dist/src/indexer/SkillParser.coverage.test.js +76 -0
- package/dist/src/indexer/SkillParser.coverage.test.js.map +1 -0
- package/dist/src/indexer/SkillParser.test.d.ts +2 -0
- package/dist/src/indexer/SkillParser.test.d.ts.map +1 -0
- package/dist/src/indexer/SkillParser.test.js +375 -0
- package/dist/src/indexer/SkillParser.test.js.map +1 -0
- package/dist/src/scripts/validation/types.d.ts +14 -24
- package/dist/src/scripts/validation/types.d.ts.map +1 -1
- package/dist/src/services/skill-config-schema.d.ts +4 -36
- package/dist/src/services/skill-config-schema.d.ts.map +1 -1
- package/dist/src/sources/LocalFilesystemAdapter.d.ts +104 -10
- package/dist/src/sources/LocalFilesystemAdapter.d.ts.map +1 -1
- package/dist/src/sources/LocalFilesystemAdapter.helpers.d.ts +92 -0
- package/dist/src/sources/LocalFilesystemAdapter.helpers.d.ts.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.helpers.js +157 -0
- package/dist/src/sources/LocalFilesystemAdapter.helpers.js.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.js +218 -159
- package/dist/src/sources/LocalFilesystemAdapter.js.map +1 -1
- package/dist/src/sources/LocalFilesystemAdapter.scan.d.ts +78 -0
- package/dist/src/sources/LocalFilesystemAdapter.scan.d.ts.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.scan.js +118 -0
- package/dist/src/sources/LocalFilesystemAdapter.scan.js.map +1 -0
- package/dist/src/sources/index.d.ts +1 -1
- package/dist/src/sources/index.d.ts.map +1 -1
- package/dist/src/sources/index.js.map +1 -1
- package/dist/src/sources/types.d.ts +28 -0
- package/dist/src/sources/types.d.ts.map +1 -1
- package/dist/src/telemetry/tracer-imports.d.ts +13 -0
- package/dist/src/telemetry/tracer-imports.d.ts.map +1 -0
- package/dist/src/telemetry/tracer-imports.js +26 -0
- package/dist/src/telemetry/tracer-imports.js.map +1 -0
- package/dist/src/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +18 -21
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/utils/rate-limit.d.ts +39 -0
- package/dist/src/utils/rate-limit.d.ts.map +1 -0
- package/dist/src/utils/rate-limit.js +48 -0
- package/dist/src/utils/rate-limit.js.map +1 -0
- package/dist/src/utils/rate-limit.test.d.ts +11 -0
- package/dist/src/utils/rate-limit.test.d.ts.map +1 -0
- package/dist/src/utils/rate-limit.test.js +86 -0
- package/dist/src/utils/rate-limit.test.js.map +1 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.d.ts +178 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.js +196 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.js.map +1 -0
- package/dist/src/webhooks/WebhookQueue.d.ts +1 -0
- package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookQueue.js +19 -0
- package/dist/src/webhooks/WebhookQueue.js.map +1 -1
- package/dist/src/webhooks/WebhookQueue.types.d.ts +11 -0
- package/dist/src/webhooks/WebhookQueue.types.d.ts.map +1 -1
- package/dist/src/webhooks/index.d.ts +1 -0
- package/dist/src/webhooks/index.d.ts.map +1 -1
- package/dist/src/webhooks/index.js +2 -0
- package/dist/src/webhooks/index.js.map +1 -1
- package/dist/src/webhooks/webhook-schemas.d.ts +117 -1212
- package/dist/src/webhooks/webhook-schemas.d.ts.map +1 -1
- package/dist/tests/ActivationManager.test.d.ts +13 -0
- package/dist/tests/ActivationManager.test.d.ts.map +1 -0
- package/dist/tests/ActivationManager.test.js +218 -0
- package/dist/tests/ActivationManager.test.js.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.d.ts +13 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.d.ts.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.js +314 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.js.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.d.ts +18 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.d.ts.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.js +344 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.js.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.test.d.ts +12 -0
- package/dist/tests/LocalFilesystemAdapter.test.d.ts.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.test.js +301 -0
- package/dist/tests/LocalFilesystemAdapter.test.js.map +1 -0
- package/dist/tests/ROIDashboardService.coverage.test.d.ts +9 -0
- package/dist/tests/ROIDashboardService.coverage.test.d.ts.map +1 -0
- package/dist/tests/ROIDashboardService.coverage.test.js +118 -0
- package/dist/tests/ROIDashboardService.coverage.test.js.map +1 -0
- package/dist/tests/ROIDashboardService.test.js +87 -0
- package/dist/tests/ROIDashboardService.test.js.map +1 -1
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.d.ts +14 -0
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.d.ts.map +1 -0
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.js +169 -0
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.js.map +1 -0
- package/dist/tests/ScraperAdapters.test.d.ts +5 -1
- package/dist/tests/ScraperAdapters.test.d.ts.map +1 -1
- package/dist/tests/ScraperAdapters.test.js +6 -336
- package/dist/tests/ScraperAdapters.test.js.map +1 -1
- package/dist/tests/WebhookDeadLetterRepository.test.d.ts +2 -0
- package/dist/tests/WebhookDeadLetterRepository.test.d.ts.map +1 -0
- package/dist/tests/WebhookDeadLetterRepository.test.js +333 -0
- package/dist/tests/WebhookDeadLetterRepository.test.js.map +1 -0
- package/dist/tests/WebhookHandler.test.js +93 -1
- package/dist/tests/WebhookHandler.test.js.map +1 -1
- package/dist/tests/WebhookQueue.coverage.test.d.ts +19 -0
- package/dist/tests/WebhookQueue.coverage.test.d.ts.map +1 -0
- package/dist/tests/WebhookQueue.coverage.test.js +190 -0
- package/dist/tests/WebhookQueue.coverage.test.js.map +1 -0
- package/dist/tests/billing/GDPRCompliance.test.d.ts +2 -2
- package/dist/tests/billing/GDPRCompliance.test.js +221 -36
- package/dist/tests/billing/GDPRCompliance.test.js.map +1 -1
- package/dist/tests/telemetry.test.js +126 -0
- package/dist/tests/telemetry.test.js.map +1 -1
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.d.ts +10 -0
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.d.ts.map +1 -0
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.js +109 -0
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.js.map +1 -0
- package/package.json +8 -3
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4307: Tests for WebhookDeadLetterRepository null-team guard
|
|
3
|
+
*
|
|
4
|
+
* F-03/F-02: `insertDeadLetter` must short-circuit when `input.teamId` is
|
|
5
|
+
* empty or null so Individual-tier users (and users whose team has not been
|
|
6
|
+
* provisioned yet) don't hit the NOT NULL / team-scoped RLS on
|
|
7
|
+
* `webhook_dead_letters`.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=WebhookDeadLetterRepository.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebhookDeadLetterRepository.test.d.ts","sourceRoot":"","sources":["../../../tests/webhooks/WebhookDeadLetterRepository.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4307: Tests for WebhookDeadLetterRepository null-team guard
|
|
3
|
+
*
|
|
4
|
+
* F-03/F-02: `insertDeadLetter` must short-circuit when `input.teamId` is
|
|
5
|
+
* empty or null so Individual-tier users (and users whose team has not been
|
|
6
|
+
* provisioned yet) don't hit the NOT NULL / team-scoped RLS on
|
|
7
|
+
* `webhook_dead_letters`.
|
|
8
|
+
*/
|
|
9
|
+
import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
|
|
10
|
+
import { WebhookDeadLetterRepository, } from '../../src/webhooks/WebhookDeadLetterRepository.js';
|
|
11
|
+
function buildInsertInput(overrides = {}) {
|
|
12
|
+
return {
|
|
13
|
+
originalEventId: 'evt_123',
|
|
14
|
+
endpointUrl: 'https://example.com/hook',
|
|
15
|
+
payload: { k: 'v' },
|
|
16
|
+
failureReason: 'http_5xx',
|
|
17
|
+
attemptCount: 3,
|
|
18
|
+
firstFailedAt: new Date('2026-04-19T10:00:00Z'),
|
|
19
|
+
lastFailedAt: new Date('2026-04-19T10:05:00Z'),
|
|
20
|
+
teamId: 'team_abc',
|
|
21
|
+
...overrides,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function buildClient(insertResult = { error: null }) {
|
|
25
|
+
const insertFn = vi.fn(async () => insertResult);
|
|
26
|
+
const client = {
|
|
27
|
+
from: vi.fn(() => ({
|
|
28
|
+
insert: insertFn,
|
|
29
|
+
// Unused methods — sufficient for insertDeadLetter() tests.
|
|
30
|
+
select: () => ({
|
|
31
|
+
eq: () => ({
|
|
32
|
+
order: () => Promise.resolve({ data: [], error: null }),
|
|
33
|
+
}),
|
|
34
|
+
}),
|
|
35
|
+
update: () => ({
|
|
36
|
+
eq: () => Promise.resolve({ data: null, error: null }),
|
|
37
|
+
}),
|
|
38
|
+
})),
|
|
39
|
+
};
|
|
40
|
+
return { client, insertFn };
|
|
41
|
+
}
|
|
42
|
+
describe('WebhookDeadLetterRepository.insertDeadLetter — SMI-4307 null-team guard', () => {
|
|
43
|
+
let warnSpy;
|
|
44
|
+
beforeEach(() => {
|
|
45
|
+
warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => undefined);
|
|
46
|
+
});
|
|
47
|
+
afterEach(() => {
|
|
48
|
+
warnSpy.mockRestore();
|
|
49
|
+
});
|
|
50
|
+
it('inserts normally when teamId is present', async () => {
|
|
51
|
+
const { client, insertFn } = buildClient();
|
|
52
|
+
const repo = new WebhookDeadLetterRepository(client);
|
|
53
|
+
await repo.insertDeadLetter(buildInsertInput({ teamId: 'team_abc' }));
|
|
54
|
+
expect(insertFn).toHaveBeenCalledTimes(1);
|
|
55
|
+
const firstCall = insertFn.mock.calls[0];
|
|
56
|
+
const row = firstCall[0];
|
|
57
|
+
expect(row.team_id).toBe('team_abc');
|
|
58
|
+
expect(row.original_event_id).toBe('evt_123');
|
|
59
|
+
});
|
|
60
|
+
it('SHORT-CIRCUITS (no insert) when teamId is empty string', async () => {
|
|
61
|
+
const { client, insertFn } = buildClient();
|
|
62
|
+
const repo = new WebhookDeadLetterRepository(client);
|
|
63
|
+
await repo.insertDeadLetter(buildInsertInput({ teamId: '' }));
|
|
64
|
+
expect(insertFn).not.toHaveBeenCalled();
|
|
65
|
+
expect(warnSpy).toHaveBeenCalledWith('webhook-dlq: skipping DLQ insert — no teamId (orphan event)', expect.objectContaining({
|
|
66
|
+
originalEventId: 'evt_123',
|
|
67
|
+
failureReason: 'http_5xx',
|
|
68
|
+
}));
|
|
69
|
+
});
|
|
70
|
+
it('SHORT-CIRCUITS (no insert) when teamId is null-ish', async () => {
|
|
71
|
+
const { client, insertFn } = buildClient();
|
|
72
|
+
const repo = new WebhookDeadLetterRepository(client);
|
|
73
|
+
// Cast the null through unknown — InsertDeadLetterInput.teamId is string,
|
|
74
|
+
// but runtime callers have been observed to pass null via Supabase shape
|
|
75
|
+
// coercion. The guard must treat any falsy value as orphan.
|
|
76
|
+
await repo.insertDeadLetter(buildInsertInput({ teamId: null }));
|
|
77
|
+
expect(insertFn).not.toHaveBeenCalled();
|
|
78
|
+
expect(warnSpy).toHaveBeenCalled();
|
|
79
|
+
});
|
|
80
|
+
it('SHORT-CIRCUITS (no insert) when teamId is undefined', async () => {
|
|
81
|
+
const { client, insertFn } = buildClient();
|
|
82
|
+
const repo = new WebhookDeadLetterRepository(client);
|
|
83
|
+
await repo.insertDeadLetter(buildInsertInput({ teamId: undefined }));
|
|
84
|
+
expect(insertFn).not.toHaveBeenCalled();
|
|
85
|
+
expect(warnSpy).toHaveBeenCalled();
|
|
86
|
+
});
|
|
87
|
+
it('guard runs BEFORE endpoint_url validation (orphan event with bad URL is still skipped silently)', async () => {
|
|
88
|
+
const { client, insertFn } = buildClient();
|
|
89
|
+
const repo = new WebhookDeadLetterRepository(client);
|
|
90
|
+
// If the guard ran AFTER endpoint_url validation, this would throw.
|
|
91
|
+
// The guard running first means an Individual-tier user with a bad URL
|
|
92
|
+
// gets a clean skip rather than a noisy error.
|
|
93
|
+
await expect(repo.insertDeadLetter(buildInsertInput({ teamId: '', endpointUrl: '' }))).resolves.toBeUndefined();
|
|
94
|
+
expect(insertFn).not.toHaveBeenCalled();
|
|
95
|
+
});
|
|
96
|
+
it('still throws on endpoint_url validation when teamId is present (guard does not mask real errors)', async () => {
|
|
97
|
+
const { client, insertFn } = buildClient();
|
|
98
|
+
const repo = new WebhookDeadLetterRepository(client);
|
|
99
|
+
await expect(repo.insertDeadLetter(buildInsertInput({ teamId: 'team_abc', endpointUrl: '' }))).rejects.toThrow(/endpoint_url length/);
|
|
100
|
+
expect(insertFn).not.toHaveBeenCalled();
|
|
101
|
+
});
|
|
102
|
+
it('still throws on attempt_count validation when teamId is present', async () => {
|
|
103
|
+
const { client, insertFn } = buildClient();
|
|
104
|
+
const repo = new WebhookDeadLetterRepository(client);
|
|
105
|
+
await expect(repo.insertDeadLetter(buildInsertInput({ teamId: 'team_abc', attemptCount: 0 }))).rejects.toThrow(/attempt_count must be a positive integer/);
|
|
106
|
+
expect(insertFn).not.toHaveBeenCalled();
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=WebhookDeadLetterRepository.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebhookDeadLetterRepository.test.js","sourceRoot":"","sources":["../../../tests/webhooks/WebhookDeadLetterRepository.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skillsmith/core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "Core types and utilities for Skillsmith",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -60,21 +60,26 @@
|
|
|
60
60
|
"benchmark:index": "npx tsx src/benchmarks/cli.ts --suite index",
|
|
61
61
|
"benchmark:cache": "npx tsx src/benchmarks/cli.ts --suite cache",
|
|
62
62
|
"benchmark:embedding": "npx tsx src/benchmarks/cli.ts --suite embedding",
|
|
63
|
+
"benchmark:incremental-parse": "npx tsx src/benchmarks/incrementalParseBenchmark.ts",
|
|
63
64
|
"import:skills": "npx tsx src/scripts/import-to-database.ts"
|
|
64
65
|
},
|
|
65
66
|
"dependencies": {
|
|
66
67
|
"@huggingface/transformers": "3.8.1",
|
|
67
68
|
"@opentelemetry/api": "1.9.0",
|
|
68
|
-
"@opentelemetry/
|
|
69
|
+
"@opentelemetry/instrumentation-http": "0.214.0",
|
|
70
|
+
"@opentelemetry/instrumentation-runtime-node": "0.27.0",
|
|
71
|
+
"@opentelemetry/instrumentation-undici": "0.24.0",
|
|
69
72
|
"@opentelemetry/resources": "2.6.1",
|
|
70
73
|
"@opentelemetry/sdk-node": "0.214.0",
|
|
71
|
-
"@opentelemetry/sdk-trace-base": "2.
|
|
74
|
+
"@opentelemetry/sdk-trace-base": "2.7.0",
|
|
72
75
|
"@opentelemetry/semantic-conventions": "1.40.0",
|
|
73
76
|
"fts5-sql-bundle": "1.0.2",
|
|
74
77
|
"lru-cache": "11.3.3",
|
|
75
78
|
"posthog-node": "5.29.2",
|
|
76
79
|
"stripe": "20.3.0",
|
|
80
|
+
"tree-sitter-wasms": "0.1.13",
|
|
77
81
|
"typescript": "5.9.3",
|
|
82
|
+
"web-tree-sitter": "0.25.10",
|
|
78
83
|
"zod": "4.2.1"
|
|
79
84
|
},
|
|
80
85
|
"devDependencies": {
|