noteconnection 1.8.0 → 1.9.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.
- package/README.md +257 -1803
- package/dist/src/agent_workspace.contract.parity.test.js +105 -421
- package/dist/src/agent_workspace.frontend.test.js +410 -11
- package/dist/src/android.knowledgebase.picker.contract.test.js +102 -0
- package/dist/src/appimage.patchelf.test.js +113 -0
- package/dist/src/appimage.portability.test.js +156 -0
- package/dist/src/backend/FileLoader.js +18 -4
- package/dist/src/backend/FileLoader.test.js +125 -0
- package/dist/src/backend/GraphBuilder.identity.test.js +86 -0
- package/dist/src/backend/GraphBuilder.js +66 -18
- package/dist/src/backend/GraphBuilder.matching.test.js +127 -0
- package/dist/src/backend/GraphMetrics.js +0 -3
- package/dist/src/backend/ResourceIdentity.js +155 -0
- package/dist/src/backend/ResourceIdentity.test.js +113 -0
- package/dist/src/backend/algorithms/CycleDetection.js +0 -1
- package/dist/src/backend/algorithms/HybridEngine.js +0 -3
- package/dist/src/backend/algorithms/LayoutEngine.js +0 -1
- package/dist/src/backend/algorithms/StatisticalAnalyzer.js +0 -4
- package/dist/src/backend/algorithms/TopologicalSort.js +0 -2
- package/dist/src/backend/build_dag.js +0 -1
- package/dist/src/capacitor.bridge.serialization.contract.test.js +3 -0
- package/dist/src/capacitor.runtime.contract.test.js +11 -2
- package/dist/src/core/Graph.js +138 -42
- package/dist/src/core/Graph.test.js +74 -0
- package/dist/src/core/NoteConnection.js +2 -2
- package/dist/src/core/PathBridge.js +265 -2
- package/dist/src/core/ResourceReference.js +17 -0
- package/dist/src/desktop.godot.pack.test.js +142 -0
- package/dist/src/desktop.runtime.graph.test.js +66 -0
- package/dist/src/export/WorkspaceExportBundle.js +44 -0
- package/dist/src/export/WorkspaceExportBundle.test.js +61 -0
- package/dist/src/foundation.release.evidence.contract.test.js +127 -9
- package/dist/src/foundation.sqlite.runtime.contract.test.js +6 -0
- package/dist/src/frontend/README.md +257 -1803
- package/dist/src/frontend/agent_workspace.js +665 -7
- package/dist/src/frontend/index.html +31 -2
- package/dist/src/frontend/knowledge_projection_contract.js +230 -0
- package/dist/src/frontend/knowledge_projection_store.js +214 -0
- package/dist/src/frontend/libs/path_core.js +158 -42
- package/dist/src/frontend/locales/en.json +32 -0
- package/dist/src/frontend/locales/zh.json +32 -0
- package/dist/src/frontend/mobile_budget_runtime.js +33 -0
- package/dist/src/frontend/mobile_exact_analyzer.js +393 -0
- package/dist/src/frontend/mobile_identity_contract.js +221 -0
- package/dist/src/frontend/mobile_semantic_comparator.js +264 -0
- package/dist/src/frontend/path.html +6 -2
- package/dist/src/frontend/simulationWorker.js +1 -1
- package/dist/src/frontend/source_manager.js +110 -4
- package/dist/src/frontend/storage_provider.js +661 -71
- package/dist/src/frontend/styles.css +107 -13
- package/dist/src/frontend/workspace_panes.js +111 -7
- package/dist/src/frontend.runtime.assets.contract.test.js +81 -0
- package/dist/src/graph.answer.operator.contract.test.js +72 -0
- package/dist/src/index.js +6 -2
- package/dist/src/index.knowledge-root.test.js +118 -0
- package/dist/src/indexing/IndexLifecycle.js +22 -0
- package/dist/src/indexing/IndexLifecycle.test.js +24 -0
- package/dist/src/knowledge.api.contract.test.js +4 -2
- package/dist/src/knowledge_projection.contract.test.js +134 -0
- package/dist/src/knowledge_projection_store.test.js +200 -0
- package/dist/src/learning/AnswerQualityEvaluation.js +153 -0
- package/dist/src/learning/AnswerQualityEvaluation.test.js +118 -0
- package/dist/src/learning/KnowledgeLearningPlatform.js +4687 -3892
- package/dist/src/learning/KnowledgeLearningPlatform.persistence.test.js +418 -0
- package/dist/src/learning/KnowledgeLearningPlatform.test.js +243 -6
- package/dist/src/learning/KnowledgeWorkspaceConversationRegression.js +25 -1
- package/dist/src/learning/KnowledgeWorkspaceConversationRegression.test.js +13 -5
- package/dist/src/learning/MeasurementEvidenceConflicts.test.js +78 -0
- package/dist/src/learning/PublicAnswerContract.test.js +85 -0
- package/dist/src/learning/PublicEvidenceSelection.test.js +94 -0
- package/dist/src/learning/PublicMeasurementDisclosure.test.js +54 -0
- package/dist/src/learning/agentConversationExecution.js +211 -0
- package/dist/src/learning/agentConversationExecution.test.js +209 -0
- package/dist/src/learning/agentConversationSerialization.js +266 -0
- package/dist/src/learning/agentConversationSerialization.test.js +165 -0
- package/dist/src/learning/agentResponseBudget.js +179 -0
- package/dist/src/learning/agentResponseBudget.test.js +97 -0
- package/dist/src/learning/agentWorkspaceCapabilityContracts.js +65 -0
- package/dist/src/learning/answerReleaseReview.js +1191 -250
- package/dist/src/learning/answerReleaseReview.test.js +1293 -7
- package/dist/src/learning/answerTaskPlan.js +473 -0
- package/dist/src/learning/conversationComposer.js +627 -386
- package/dist/src/learning/conversationComposer.test.js +1403 -0
- package/dist/src/learning/evidenceContextAssembler.js +312 -120
- package/dist/src/learning/graphAnswerCoverage.js +37 -0
- package/dist/src/learning/graphAnswerCoverage.test.js +93 -0
- package/dist/src/learning/graphAnswerCoverageCalibration.js +59 -0
- package/dist/src/learning/graphAnswerCoverageCalibration.test.js +46 -0
- package/dist/src/learning/graphAnswerFacts.js +94 -0
- package/dist/src/learning/graphAnswerFacts.test.js +39 -0
- package/dist/src/learning/graphAnswerPlan.js +908 -0
- package/dist/src/learning/graphAnswerPlan.test.js +907 -0
- package/dist/src/learning/graphAnswerQualityCalibration.js +255 -0
- package/dist/src/learning/graphAnswerQualityCalibration.test.js +72 -0
- package/dist/src/learning/graphAnswerQualityPolicy.js +30 -0
- package/dist/src/learning/graphClaimMatcher.js +104 -0
- package/dist/src/learning/graphConditionedContext.js +109 -0
- package/dist/src/learning/graphConditionedContext.test.js +99 -0
- package/dist/src/learning/graphContextAssembler.js +3 -13
- package/dist/src/learning/graphContextAssembler.test.js +2 -2
- package/dist/src/learning/graphExpansionPolicy.js +22 -0
- package/dist/src/learning/graphExpansionPolicy.test.js +33 -0
- package/dist/src/learning/identityMetadata.test.js +26 -0
- package/dist/src/learning/index.js +1 -0
- package/dist/src/learning/mobileAnswerProjection.js +104 -0
- package/dist/src/learning/mobileAnswerProjection.test.js +102 -0
- package/dist/src/learning/queryBackend.js +34 -10
- package/dist/src/learning/queryBackend.test.js +21 -0
- package/dist/src/learning/ragContextPack.js +115 -16
- package/dist/src/learning/ragContextPack.test.js +151 -0
- package/dist/src/learning/ragEvidenceQuality.js +96 -0
- package/dist/src/learning/ragEvidenceQuality.test.js +29 -0
- package/dist/src/learning/ragPublicText.js +67 -4
- package/dist/src/learning/ragPublicText.test.js +57 -0
- package/dist/src/learning/ragSufficiencyJudge.js +11 -1
- package/dist/src/learning/ragSufficiencyProviderJudge.js +16 -26
- package/dist/src/learning/ragSufficiencyProviderJudge.test.js +51 -0
- package/dist/src/learning/requestNormalization.js +106 -0
- package/dist/src/learning/requestNormalization.test.js +101 -0
- package/dist/src/learning/store.js +116 -12
- package/dist/src/learning/store.test.js +299 -0
- package/dist/src/learning/vectorAccelerationAdapter.js +22 -6
- package/dist/src/learning/vectorAccelerationAdapter.test.js +30 -0
- package/dist/src/learning/workspaceHydration.js +168 -0
- package/dist/src/learning/workspaceHydration.test.js +30 -0
- package/dist/src/license.policy.contract.test.js +9 -4
- package/dist/src/markdown/MarkdownGateway.js +4 -0
- package/dist/src/markdown/MarkdownGateway.test.js +59 -0
- package/dist/src/middleware/SseResponseWriter.js +122 -0
- package/dist/src/middleware/SseResponseWriter.test.js +54 -0
- package/dist/src/middleware/auth.js +28 -7
- package/dist/src/middleware/auth.test.js +33 -0
- package/dist/src/middleware/index.js +2 -1
- package/dist/src/mobile.android.evidence.contract.test.js +146 -0
- package/dist/src/mobile.android.signing.contract.test.js +66 -0
- package/dist/src/mobile.artifact.contract.test.js +144 -0
- package/dist/src/mobile.budget.contract.test.js +90 -0
- package/dist/src/mobile.canonical-id.readiness.test.js +54 -0
- package/dist/src/mobile.graph.parity.contract.test.js +207 -0
- package/dist/src/mobile.identity.contract.test.js +66 -0
- package/dist/src/mobile.identity.corpus.manifest.test.js +72 -0
- package/dist/src/mobile.identity.corpus.test.js +40 -0
- package/dist/src/mobile.native.recovery.contract.test.js +64 -0
- package/dist/src/mobile.pipeline.test.js +11 -1
- package/dist/src/mobile.profile.contract.test.js +225 -0
- package/dist/src/mobile.semantic.parity.test.js +92 -0
- package/dist/src/mobile_exact_analyzer.test.js +113 -0
- package/dist/src/notemd/ContentGenerator.js +4 -9
- package/dist/src/notemd/FileProcessor.js +4 -9
- package/dist/src/notemd/NotemdService.js +12 -17
- package/dist/src/notemd/Translator.js +4 -9
- package/dist/src/notemd/progressReporter.js +9 -0
- package/dist/src/notemd.server.integration.test.js +119 -4
- package/dist/src/notemd.workflow.pipeline.test.js +1 -1
- package/dist/src/pathbridge.handshake.contract.test.js +29 -0
- package/dist/src/pathbridge.host-adapter.contract.test.js +133 -0
- package/dist/src/pathcore.bundle.contract.test.js +8 -0
- package/dist/src/platform/ExportProfile.js +28 -0
- package/dist/src/platform/MobileBudget.js +11 -0
- package/dist/src/platform/PlatformCapabilities.js +14 -0
- package/dist/src/platform/PlatformCapabilities.test.js +6 -0
- package/dist/src/query_backend.external_http.integration.test.js +2 -2
- package/dist/src/release.godot.mirror.contract.test.js +28 -4
- package/dist/src/resources/ResourceRegistry.js +40 -0
- package/dist/src/resources/ResourceRegistry.test.js +36 -0
- package/dist/src/routes/index.js +0 -4
- package/dist/src/routes/knowledge.js +46 -33
- package/dist/src/routes/knowledgePayload.js +185 -0
- package/dist/src/routes/knowledgePayload.test.js +53 -0
- package/dist/src/routes/markdown.js +8 -0
- package/dist/src/routes/notemd.js +990 -234
- package/dist/src/routes/registry.contract.test.js +5 -2
- package/dist/src/routes/registry.shadow.contract.test.js +22 -0
- package/dist/src/routes/render.js +14 -51
- package/dist/src/runtime.capabilities.test.js +18 -2
- package/dist/src/server.js +566 -1090
- package/dist/src/server.migration.test.js +417 -15
- package/dist/src/sidecar.build.lock.contract.test.js +201 -0
- package/dist/src/sidecar.freshness.contract.test.js +184 -0
- package/dist/src/sidecar.replacement.boundary.contract.test.js +6 -3
- package/dist/src/sidecar.supply.readiness.contract.test.js +11 -0
- package/dist/src/simulation.worker.offline.test.js +104 -0
- package/dist/src/storage.provider.capacitor.content.contract.test.js +4 -1
- package/dist/src/storage.provider.contract.test.js +152 -1
- package/dist/src/tauri.frontend.build.contract.test.js +8 -0
- package/dist/src/tauri.window.evidence.execution.test.js +68 -0
- package/dist/src/utils/RuntimePaths.js +6 -0
- package/dist/src/utils/RuntimePaths.test.js +27 -0
- package/dist/src/windows.installer.build.test.js +109 -0
- package/dist/src/windows.installer.payload.test.js +76 -0
- package/dist/src/windows.installer.runtime.test.js +69 -0
- package/dist/src/workspace/WorkspaceRegistry.js +13 -0
- package/package.json +32 -10
- package/dist/src/routes/data.js +0 -267
- package/dist/src/routes/diagnostics.js +0 -51
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
* Verifies the modular route registration and dispatch infrastructure.
|
|
6
6
|
*/
|
|
7
7
|
const index_1 = require("./index");
|
|
8
|
+
const constants_1 = require("../notemd/constants");
|
|
8
9
|
function createMockContext() {
|
|
9
10
|
const scheduleKnowledgeLearningPlatformWarmup = jest.fn();
|
|
10
11
|
return {
|
|
@@ -20,7 +21,9 @@ function createMockContext() {
|
|
|
20
21
|
tutorRouter: { getDiagnosticsSummary: () => ({}) },
|
|
21
22
|
memoryPolicyManager: { getDiagnosticsSummary: () => ({}) },
|
|
22
23
|
notemdService: {},
|
|
23
|
-
loadNotemdSettings: async () => (
|
|
24
|
+
loadNotemdSettings: async () => structuredClone(constants_1.DEFAULT_SETTINGS),
|
|
25
|
+
persistNotemdSettings: async () => structuredClone(constants_1.DEFAULT_SETTINGS),
|
|
26
|
+
notemdHttp: {},
|
|
24
27
|
LOOPBACK_HOST: '127.0.0.1',
|
|
25
28
|
finalPort: 3000,
|
|
26
29
|
KNOWLEDGE_GRAPH_STORE_BACKEND: 'file',
|
|
@@ -68,7 +71,7 @@ describe('Route Registry', () => {
|
|
|
68
71
|
});
|
|
69
72
|
test('render routes are registered', () => {
|
|
70
73
|
const renderRoutes = routes.filter(r => r.path.startsWith('/api/render') || r.path.startsWith('/api/clipboard'));
|
|
71
|
-
expect(renderRoutes.
|
|
74
|
+
expect(renderRoutes.map(route => route.path).sort()).toEqual(['/api/render/math', '/api/render/mermaid']);
|
|
72
75
|
});
|
|
73
76
|
test('no duplicate method+path combinations', () => {
|
|
74
77
|
const seen = new Set();
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
describe('route registry shadow parity gate', () => {
|
|
9
|
+
const repoRoot = node_path_1.default.resolve(__dirname, '..', '..');
|
|
10
|
+
const serverSource = node_fs_1.default.readFileSync(node_path_1.default.join(repoRoot, 'src', 'server.ts'), 'utf8');
|
|
11
|
+
const packageJson = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(repoRoot, 'package.json'), 'utf8'));
|
|
12
|
+
test('supports an explicit legacy mode without changing the default registry mode', () => {
|
|
13
|
+
expect(serverSource.includes('NOTE_CONNECTION_ROUTE_DISPATCH_MODE')).toBe(true);
|
|
14
|
+
expect(serverSource.includes("ROUTE_DISPATCH_MODE === 'registry'")).toBe(true);
|
|
15
|
+
expect(serverSource.includes("registeredRoute && (USE_REGISTRY_DISPATCH || requestPath.startsWith('/api/notemd/'))")).toBe(true);
|
|
16
|
+
expect(/(?:get|post)Pathname === '\/api\/notemd\//.test(serverSource)).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
test('ships an executable parity harness as a release gate', () => {
|
|
19
|
+
expect(packageJson.scripts?.['verify:route:shadow']).toBe('npm run build:mini && node scripts/verify-route-registry-shadow.js');
|
|
20
|
+
expect(node_fs_1.default.existsSync(node_path_1.default.join(repoRoot, 'scripts', 'verify-route-registry-shadow.js'))).toBe(true);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
@@ -34,6 +34,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.registerRenderRoutes = registerRenderRoutes;
|
|
37
|
+
const isPngBuffer = (value) => value.length >= 8
|
|
38
|
+
&& value[0] === 0x89
|
|
39
|
+
&& value[1] === 0x50
|
|
40
|
+
&& value[2] === 0x4e
|
|
41
|
+
&& value[3] === 0x47
|
|
42
|
+
&& value[4] === 0x0d
|
|
43
|
+
&& value[5] === 0x0a
|
|
44
|
+
&& value[6] === 0x1a
|
|
45
|
+
&& value[7] === 0x0a;
|
|
37
46
|
const CrashLogger_1 = require("../backend/utils/CrashLogger");
|
|
38
47
|
const RenderMaterializer_1 = require("../platform/RenderMaterializer");
|
|
39
48
|
function normalizeMermaidRendererPreference(value) {
|
|
@@ -155,7 +164,10 @@ function registerRenderRoutes(ctx) {
|
|
|
155
164
|
? payload.expression
|
|
156
165
|
: (typeof payload?.source === 'string' ? payload.source : '');
|
|
157
166
|
if (!expression.trim()) {
|
|
158
|
-
|
|
167
|
+
const hasExpressionField = Object.prototype.hasOwnProperty.call(payload || {}, 'expression');
|
|
168
|
+
json(res, 400, hasExpressionField
|
|
169
|
+
? { success: false, error: 'Missing expression' }
|
|
170
|
+
: { error: 'Missing source' });
|
|
159
171
|
return;
|
|
160
172
|
}
|
|
161
173
|
const { renderMathPng } = await Promise.resolve().then(() => __importStar(require('../reader_renderer')));
|
|
@@ -194,7 +206,7 @@ function registerRenderRoutes(ctx) {
|
|
|
194
206
|
? payload.source
|
|
195
207
|
: (typeof payload?.diagram === 'string' ? payload.diagram : '');
|
|
196
208
|
if (!source.trim()) {
|
|
197
|
-
json(res, 400, {
|
|
209
|
+
json(res, 400, { error: 'Missing source' });
|
|
198
210
|
return;
|
|
199
211
|
}
|
|
200
212
|
const includeStages = payload?.includeStages === true;
|
|
@@ -232,54 +244,5 @@ function registerRenderRoutes(ctx) {
|
|
|
232
244
|
}
|
|
233
245
|
},
|
|
234
246
|
},
|
|
235
|
-
{
|
|
236
|
-
method: 'POST',
|
|
237
|
-
path: '/api/render/graphviz',
|
|
238
|
-
handler: async (req, res) => {
|
|
239
|
-
try {
|
|
240
|
-
const body = await readBody(req);
|
|
241
|
-
json(res, 200, { success: true, message: 'graphviz render route' });
|
|
242
|
-
}
|
|
243
|
-
catch (e) {
|
|
244
|
-
fail(res, e, 'POST /api/render/graphviz');
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
method: 'POST',
|
|
250
|
-
path: '/api/clipboard/image',
|
|
251
|
-
handler: async (req, res) => {
|
|
252
|
-
try {
|
|
253
|
-
const body = await readBody(req);
|
|
254
|
-
const { pngBase64 } = JSON.parse(body);
|
|
255
|
-
const { copyPngToClipboard } = await Promise.resolve().then(() => __importStar(require('../native_clipboard')));
|
|
256
|
-
await copyPngToClipboard(Buffer.from(pngBase64 || '', 'base64'));
|
|
257
|
-
json(res, 200, { success: true });
|
|
258
|
-
}
|
|
259
|
-
catch (e) {
|
|
260
|
-
fail(res, e, 'POST /api/clipboard/image');
|
|
261
|
-
}
|
|
262
|
-
},
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
method: 'POST',
|
|
266
|
-
path: '/api/clipboard/image-binary',
|
|
267
|
-
handler: async (req, res) => {
|
|
268
|
-
try {
|
|
269
|
-
const chunks = [];
|
|
270
|
-
req.on('data', (c) => chunks.push(c));
|
|
271
|
-
await new Promise((resolve, reject) => {
|
|
272
|
-
req.on('end', resolve);
|
|
273
|
-
req.on('error', reject);
|
|
274
|
-
});
|
|
275
|
-
const { copyPngToClipboard } = await Promise.resolve().then(() => __importStar(require('../native_clipboard')));
|
|
276
|
-
await copyPngToClipboard(Buffer.concat(chunks));
|
|
277
|
-
json(res, 200, { success: true });
|
|
278
|
-
}
|
|
279
|
-
catch (e) {
|
|
280
|
-
fail(res, e, 'POST /api/clipboard/image-binary');
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
},
|
|
284
247
|
];
|
|
285
248
|
}
|
|
@@ -56,6 +56,11 @@ describe('runtime capability gating contract', () => {
|
|
|
56
56
|
expect(sourceManager).toContain('supports_mobile_wasm_compute');
|
|
57
57
|
expect(sourceManager).toContain('mobile_wasm_reason');
|
|
58
58
|
expect(sourceManager).toContain('detectMobileWasmCapability');
|
|
59
|
+
expect(sourceManager).toContain('storage_requested_provider');
|
|
60
|
+
expect(sourceManager).toContain('storage_resolved_provider');
|
|
61
|
+
expect(sourceManager).toContain('storage_fallback_reason');
|
|
62
|
+
expect(sourceManager).toContain('supports_sqlite');
|
|
63
|
+
expect(sourceManager).toContain('refreshStorageResolution');
|
|
59
64
|
});
|
|
60
65
|
test('source manager blocks build path when runtime does not support build', () => {
|
|
61
66
|
const sourceManager = fs.readFileSync(sourceManagerPath, 'utf8');
|
|
@@ -76,18 +81,29 @@ describe('runtime capability gating contract', () => {
|
|
|
76
81
|
expect(reader).toContain('supports_content_api');
|
|
77
82
|
expect(reader).toContain("window.i18n.t('source.error.contentUnavailableMobile')");
|
|
78
83
|
});
|
|
79
|
-
test('rust runtime capabilities command is registered and
|
|
84
|
+
test('rust runtime capabilities command is registered and keeps Godot Pathmode opt-in', () => {
|
|
80
85
|
const tauriLib = fs.readFileSync(tauriLibPath, 'utf8');
|
|
81
86
|
expect(tauriLib).toContain('fn get_runtime_capabilities()');
|
|
82
87
|
expect(tauriLib).toContain('get_runtime_capabilities,');
|
|
83
88
|
expect(tauriLib).toContain('choose_kb_path,');
|
|
89
|
+
expect(tauriLib).toContain('request_kb_path_change,');
|
|
90
|
+
expect(tauriLib).toContain('poll_kb_path_change,');
|
|
84
91
|
expect(tauriLib).toContain('reset_kb_path,');
|
|
85
92
|
expect(tauriLib).toContain('open_native_pathmode,');
|
|
86
93
|
expect(tauriLib).toContain('build_graph_runtime,');
|
|
87
94
|
expect(tauriLib).toContain('supports_sidecar: false');
|
|
88
95
|
expect(tauriLib).toContain('supports_build: true');
|
|
89
96
|
expect(tauriLib).toContain('supports_content_api: true');
|
|
90
|
-
expect(tauriLib).toContain('
|
|
97
|
+
expect(tauriLib).toContain('supports_kb_import: true');
|
|
98
|
+
expect(tauriLib).toContain('kb_import_mode: "android-saf-copy"');
|
|
99
|
+
expect(tauriLib).toContain('supports_projection_store: true');
|
|
100
|
+
expect(tauriLib).toContain('storage_requested_provider: "projection".to_string()');
|
|
101
|
+
expect(tauriLib).toContain('storage_resolved_provider: "projection".to_string()');
|
|
102
|
+
expect(tauriLib).toContain('storage_requested_provider: "sqlite".to_string()');
|
|
103
|
+
expect(tauriLib).toContain('storage_resolved_provider: "unknown".to_string()');
|
|
104
|
+
expect(tauriLib).toContain('supports_sqlite: false');
|
|
105
|
+
expect(tauriLib).toContain('supports_sqlite: true');
|
|
106
|
+
expect(tauriLib).toContain('supports_native_pathmode: option_env!("NOTE_CONNECTION_ANDROID_INCLUDE_GODOT_PATHMODE")');
|
|
91
107
|
expect(tauriLib).toContain('read_node_content');
|
|
92
108
|
});
|
|
93
109
|
test('path mode entry prefers native android activity when capability is enabled', () => {
|