codex-overleaf-link 2.2.1 → 2.3.1
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 +25 -23
- package/extension/bootstrap/manifest.template.json +1 -1
- package/extension/runtime-manifest.json +5 -71
- package/extension/src/background.js +67 -63
- package/extension/src/backgroundUpdateCoordinator.js +128 -66
- package/extension/src/content/applyResultFormatters.js +2 -3
- package/extension/src/content/composerPanel.js +0 -2
- package/extension/src/content/contentRuntime.js +757 -1558
- package/extension/src/content/contextTray.js +4 -6
- package/extension/src/content/diagnosticsController.js +1 -2
- package/extension/src/content/diffReviewPanel.js +14 -13
- package/extension/src/content/generated/content.bundle.js +41605 -0
- package/extension/src/content/generated/content.bundle.meta.json +103 -0
- package/extension/src/content/legacyGlobalRegistry.js +129 -0
- package/extension/src/content/markdownText.js +17 -17
- package/extension/src/content/mathText.js +155 -9
- package/extension/src/content/modelPicker.js +1 -1
- package/extension/src/content/modelPickerSupport.js +10 -5
- package/extension/src/content/moduleRegistryKernel.js +125 -0
- package/extension/src/content/nativeCompatibilityController.js +313 -0
- package/extension/src/content/otWarmMirror.js +8 -6
- package/extension/src/content/pageBridgeClient.js +224 -0
- package/extension/src/content/panelMaintenance.js +8 -3
- package/extension/src/content/postNavigationSettlementPersistence.js +100 -0
- package/extension/src/content/projectProviderSelection.js +4 -12
- package/extension/src/content/projectSessionCleanup.js +3 -3
- package/extension/src/content/providerSettingsCoordinator.js +59 -26
- package/extension/src/content/providerSettingsDialog.js +30 -18
- package/extension/src/content/recentProjects.js +15 -23
- package/extension/src/content/runGuidanceController.js +1 -1
- package/extension/src/content/runQueueScheduler.js +129 -29
- package/extension/src/content/runSettlementPersistence.js +51 -0
- package/extension/src/content/runTimelineView.js +17 -8
- package/extension/src/content/scopedPersistenceCoordinator.js +100 -0
- package/extension/src/content/scopedPersistenceDetachedCommit.js +47 -0
- package/extension/src/content/scopedPersistencePanelState.js +111 -0
- package/extension/src/content/sessionManager.js +15 -12
- package/extension/src/content/sessionPersistence.js +67 -8
- package/extension/src/content/updateNotice.js +10 -4
- package/extension/src/content/writebackOrchestrator.js +89 -68
- package/extension/src/contentScript.js +5 -1
- package/extension/src/page/trackedChangesLifecycle.js +16 -5
- package/extension/src/page/writebackRouter.js +6 -2
- package/extension/src/pageBridge.js +47 -98
- package/extension/src/shared/agentTranscript.js +18 -8
- package/extension/src/shared/compatibility.js +1 -1
- package/extension/src/shared/governanceRules.js +1 -1
- package/extension/src/shared/i18n.js +2 -4
- package/extension/src/shared/managedUpdateProjection.js +337 -0
- package/extension/src/shared/nativeRequestIdentity.js +60 -0
- package/extension/src/shared/otText.js +0 -19
- package/extension/src/shared/pageRpcContract.js +136 -0
- package/extension/src/shared/runExecutionSnapshot.js +187 -0
- package/extension/src/shared/runExecutionSnapshotCodec.js +171 -0
- package/extension/src/shared/runInputQueue.js +81 -34
- package/extension/src/shared/scopedPersistenceBrowserAdapter.js +79 -0
- package/extension/src/shared/scopedPersistenceQueuePolicy.js +200 -0
- package/extension/src/shared/scopedPersistenceReceipt.js +60 -0
- package/extension/src/shared/scopedPersistenceTransaction.js +241 -0
- package/extension/src/shared/sessionState.js +110 -59
- package/extension/src/shared/settlementFacts.js +351 -0
- package/extension/src/shared/storageDb.js +25 -10
- package/extension/src/shared/storageMigration.js +275 -61
- package/extension/src/shared/storageSessionClaims.js +60 -0
- package/extension/src/shared/updateConsent.js +4 -0
- package/extension/src/shared/updateRevocationIntent.js +109 -0
- package/extension/src/shared/writebackEvidenceProjection.js +150 -0
- package/extension/src/shared/writebackOperationEvidence.js +153 -0
- package/extension/src/shared/writebackSettlement.js +727 -0
- package/extension/styles/panel.css +18 -8
- package/native-host/src/codexPromptAssembly.js +1 -1
- package/native-host/src/codexRuntimeIdentity.js +1 -1
- package/native-host/src/codexSessionRunner.js +7 -13
- package/native-host/src/index.js +3 -69
- package/native-host/src/managedInstall.js +50 -8
- package/native-host/src/nativeTransportEnvelope.js +148 -0
- package/native-host/src/taskRunnerRuntime.js +14 -84
- package/native-host/src/updateManager.js +36 -1
- package/package.json +13 -5
|
@@ -743,6 +743,8 @@ function cleanupOrphanStageRoots(updatesRoot, retainedRoots = []) {
|
|
|
743
743
|
|
|
744
744
|
function recoverAndReadStatus(context) {
|
|
745
745
|
let journal = readJournal(context);
|
|
746
|
+
const alignedVersion = readAlignedManagedVersion(context);
|
|
747
|
+
journal = supersedeObsoleteJournal(context, journal, alignedVersion);
|
|
746
748
|
if (journal?.state === 'activation_pending') {
|
|
747
749
|
journal = { ...journal, state: 'staged', reasonCode: 'update_activation_interrupted', updatedAt: new Date().toISOString() };
|
|
748
750
|
writeJournal(context, journal);
|
|
@@ -753,7 +755,7 @@ function recoverAndReadStatus(context) {
|
|
|
753
755
|
writeJournal(context, journal);
|
|
754
756
|
settleAuthorization(context, journal.authorizationId, 'revoked');
|
|
755
757
|
}
|
|
756
|
-
if (journal?.state === 'rolled_back') {
|
|
758
|
+
if (journal?.state === 'rolled_back' || journal?.state === 'superseded') {
|
|
757
759
|
pruneNativeVersions(context.nativeRoot, new Set([
|
|
758
760
|
readVersionPointer(context.nativeRoot, 'active-version'),
|
|
759
761
|
readVersionPointer(context.nativeRoot, 'previous-version')
|
|
@@ -768,6 +770,36 @@ function recoverAndReadStatus(context) {
|
|
|
768
770
|
};
|
|
769
771
|
}
|
|
770
772
|
|
|
773
|
+
function readAlignedManagedVersion(context) {
|
|
774
|
+
try {
|
|
775
|
+
return assertManagedLayout(context);
|
|
776
|
+
} catch (_error) {
|
|
777
|
+
return '';
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
function supersedeObsoleteJournal(context, journal, activeVersion) {
|
|
782
|
+
if (!journal || journal.state === 'superseded' || !parseSemver(activeVersion) ||
|
|
783
|
+
!parseSemver(journal.sourceVersion) || !parseSemver(journal.targetVersion) ||
|
|
784
|
+
compareSemver(activeVersion, journal.sourceVersion) <= 0 ||
|
|
785
|
+
compareSemver(activeVersion, journal.targetVersion) <= 0) {
|
|
786
|
+
return journal;
|
|
787
|
+
}
|
|
788
|
+
const timestamp = new Date().toISOString();
|
|
789
|
+
const superseded = {
|
|
790
|
+
...journal,
|
|
791
|
+
state: 'superseded',
|
|
792
|
+
supersededFromState: journal.state,
|
|
793
|
+
supersededByVersion: activeVersion,
|
|
794
|
+
supersededAt: timestamp,
|
|
795
|
+
updatedAt: timestamp
|
|
796
|
+
};
|
|
797
|
+
writeJournal(context, superseded);
|
|
798
|
+
cleanupStage(journal.stageRoot);
|
|
799
|
+
cleanupOrphanStageRoots(context.updatesRoot);
|
|
800
|
+
return superseded;
|
|
801
|
+
}
|
|
802
|
+
|
|
771
803
|
function pruneNativeVersions(nativeRoot, retainedVersions) {
|
|
772
804
|
const versionsRoot = path.join(nativeRoot, 'versions');
|
|
773
805
|
let entries = [];
|
|
@@ -960,6 +992,9 @@ function publicTransaction(journal) {
|
|
|
960
992
|
appliedAt: journal.appliedAt,
|
|
961
993
|
confirmedAt: journal.confirmedAt,
|
|
962
994
|
rolledBackAt: journal.rolledBackAt,
|
|
995
|
+
supersededAt: journal.supersededAt,
|
|
996
|
+
supersededByVersion: journal.supersededByVersion,
|
|
997
|
+
supersededFromState: journal.supersededFromState,
|
|
963
998
|
reasonCode: journal.reasonCode || ''
|
|
964
999
|
};
|
|
965
1000
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-overleaf-link",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "Cross-platform Chrome bridge that connects Codex to the active Overleaf project.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -14,14 +14,19 @@
|
|
|
14
14
|
"homepage": "https://github.com/Ghqqqq/codex-overleaf-link#readme",
|
|
15
15
|
"scripts": {
|
|
16
16
|
"agent:codex": "node scripts/codex-json-agent.mjs",
|
|
17
|
-
"
|
|
17
|
+
"build:content": "node scripts/build-content-bundle.mjs",
|
|
18
|
+
"check:module-graph": "node scripts/check-content-module-graph.mjs",
|
|
19
|
+
"test": "npm run check:module-graph && node scripts/run-tests.mjs",
|
|
18
20
|
"check:architecture": "node scripts/check-architecture-budget.mjs --enforce-target",
|
|
19
21
|
"benchmark:large": "node scripts/benchmark-large-project.mjs --gate",
|
|
20
|
-
"smoke:extension": "node scripts/smoke-extension.mjs",
|
|
22
|
+
"smoke:extension": "npm run build:content && node scripts/smoke-extension.mjs",
|
|
21
23
|
"verify:release": "node scripts/verify-release.mjs",
|
|
24
|
+
"verify:source": "node scripts/verify-release.mjs --source-hygiene-only",
|
|
22
25
|
"verify:release-artifacts": "node scripts/verify-release-artifacts.mjs",
|
|
23
26
|
"verify:update-boundary": "node scripts/verify-update-boundary.mjs",
|
|
24
27
|
"verify:update-hop": "node scripts/verify-update-hop.mjs",
|
|
28
|
+
"verify:update-hop:local": "node scripts/verify-update-hop.mjs --local-test-key",
|
|
29
|
+
"rehearse:update-hop": "npm run build:release && npm run verify:update-hop:local",
|
|
25
30
|
"build:release": "node scripts/build-release.mjs",
|
|
26
31
|
"sign:release": "node scripts/sign-release-manifest.mjs",
|
|
27
32
|
"install:managed": "node scripts/install-managed.mjs",
|
|
@@ -30,7 +35,7 @@
|
|
|
30
35
|
"uninstall:native": "node scripts/uninstall-native-host.mjs",
|
|
31
36
|
"bridge": "node native-host/src/index.js",
|
|
32
37
|
"verify:npm-package": "node scripts/verify-npm-package.mjs",
|
|
33
|
-
"pack:npm": "node scripts/verify-npm-package.mjs --pack"
|
|
38
|
+
"pack:npm": "npm run build:content && node scripts/verify-npm-package.mjs --pack"
|
|
34
39
|
},
|
|
35
40
|
"engines": {
|
|
36
41
|
"node": ">=20"
|
|
@@ -56,5 +61,8 @@
|
|
|
56
61
|
"scripts/verify-npm-package.mjs",
|
|
57
62
|
"README.md",
|
|
58
63
|
"package.json"
|
|
59
|
-
]
|
|
64
|
+
],
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"esbuild": "0.28.1"
|
|
67
|
+
}
|
|
60
68
|
}
|