@shipfox/client-agent 2.0.0 → 4.0.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +34 -0
- package/dist/state/model-provider-onboarding.d.ts.map +1 -1
- package/dist/state/model-provider-onboarding.js +17 -13
- package/dist/state/model-provider-onboarding.js.map +1 -1
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +5 -38
- package/src/state/model-provider-onboarding.ts +18 -15
- package/tsconfig.build.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
$ shipfox-swc
|
|
2
|
-
Successfully compiled: 30 files with swc (
|
|
2
|
+
Successfully compiled: 30 files with swc (438.91ms)
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @shipfox/client-agent
|
|
2
2
|
|
|
3
|
+
## 4.0.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2e5b718: Adds safe browser persistence and bounded callback deduplication across client flows.
|
|
8
|
+
- Updated dependencies [2e5b718]
|
|
9
|
+
- Updated dependencies [6b4a575]
|
|
10
|
+
- Updated dependencies [11b10f7]
|
|
11
|
+
- Updated dependencies [781a45b]
|
|
12
|
+
- @shipfox/client-ui@4.0.0
|
|
13
|
+
- @shipfox/client-shell@4.0.0
|
|
14
|
+
- @shipfox/client-api@4.0.0
|
|
15
|
+
|
|
16
|
+
## 3.0.1
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- ffc7fc9: Republishes the affected release set after recovering package publication.
|
|
21
|
+
- Updated dependencies [ffc7fc9]
|
|
22
|
+
- @shipfox/client-shell@3.0.1
|
|
23
|
+
- @shipfox/client-ui@3.0.1
|
|
24
|
+
- @shipfox/react-ui@0.3.5
|
|
25
|
+
|
|
26
|
+
## 3.0.0
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [cb58afe]
|
|
31
|
+
- Updated dependencies [d735fe3]
|
|
32
|
+
- Updated dependencies [5b06cd5]
|
|
33
|
+
- @shipfox/react-ui@0.3.4
|
|
34
|
+
- @shipfox/client-shell@3.0.0
|
|
35
|
+
- @shipfox/client-ui@3.0.0
|
|
36
|
+
|
|
3
37
|
## 2.0.0
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-provider-onboarding.d.ts","sourceRoot":"","sources":["../../src/state/model-provider-onboarding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-provider-onboarding.d.ts","sourceRoot":"","sources":["../../src/state/model-provider-onboarding.ts"],"names":[],"mappings":"AAmBA,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE/E;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAIxE"}
|
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
import { createTypedBrowserStorage, localStorageOrUndefined } from '@shipfox/client-ui';
|
|
2
|
+
const dismissedStorage = createTypedBrowserStorage(localStorageOrUndefined, {
|
|
3
|
+
key: 'shipfox.modelProviderOnboardingDismissed',
|
|
4
|
+
lifetime: 'persistent',
|
|
5
|
+
principalScope: 'workspace',
|
|
6
|
+
serialize: (dismissed)=>JSON.stringify(dismissed),
|
|
7
|
+
parse: (raw)=>{
|
|
8
|
+
try {
|
|
9
|
+
const parsed = JSON.parse(raw);
|
|
10
|
+
return isDismissedMap(parsed) ? parsed : undefined;
|
|
11
|
+
} catch {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|
|
2
16
|
export function isModelProviderOnboardingDismissed(workspaceId) {
|
|
3
17
|
return Boolean(readDismissedMap()[workspaceId]);
|
|
4
18
|
}
|
|
5
19
|
export function dismissModelProviderOnboarding(workspaceId) {
|
|
6
|
-
if (typeof window === 'undefined') return;
|
|
7
20
|
const dismissed = readDismissedMap();
|
|
8
21
|
dismissed[workspaceId] = true;
|
|
9
|
-
|
|
22
|
+
dismissedStorage.write(dismissed);
|
|
10
23
|
}
|
|
11
24
|
function readDismissedMap() {
|
|
12
|
-
|
|
13
|
-
try {
|
|
14
|
-
const raw = window.localStorage.getItem(MODEL_PROVIDER_ONBOARDING_STORAGE_KEY);
|
|
15
|
-
if (!raw) return {};
|
|
16
|
-
const parsed = JSON.parse(raw);
|
|
17
|
-
if (!isDismissedMap(parsed)) return {};
|
|
18
|
-
return parsed;
|
|
19
|
-
} catch {
|
|
20
|
-
return {};
|
|
21
|
-
}
|
|
25
|
+
return dismissedStorage.read() ?? {};
|
|
22
26
|
}
|
|
23
27
|
function isDismissedMap(value) {
|
|
24
28
|
if (typeof value !== 'object' || value === null || Array.isArray(value)) return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/model-provider-onboarding.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/state/model-provider-onboarding.ts"],"sourcesContent":["import {createTypedBrowserStorage, localStorageOrUndefined} from '@shipfox/client-ui';\n\ntype DismissedMap = Record<string, true>;\n\nconst dismissedStorage = createTypedBrowserStorage(localStorageOrUndefined, {\n key: 'shipfox.modelProviderOnboardingDismissed',\n lifetime: 'persistent',\n principalScope: 'workspace',\n serialize: (dismissed: DismissedMap) => JSON.stringify(dismissed),\n parse: (raw) => {\n try {\n const parsed: unknown = JSON.parse(raw);\n return isDismissedMap(parsed) ? parsed : undefined;\n } catch {\n return undefined;\n }\n },\n});\n\nexport function isModelProviderOnboardingDismissed(workspaceId: string): boolean {\n return Boolean(readDismissedMap()[workspaceId]);\n}\n\nexport function dismissModelProviderOnboarding(workspaceId: string): void {\n const dismissed = readDismissedMap();\n dismissed[workspaceId] = true;\n dismissedStorage.write(dismissed);\n}\n\nfunction readDismissedMap(): DismissedMap {\n return dismissedStorage.read() ?? {};\n}\n\nfunction isDismissedMap(value: unknown): value is DismissedMap {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return false;\n return Object.values(value).every((entry) => entry === true);\n}\n"],"names":["createTypedBrowserStorage","localStorageOrUndefined","dismissedStorage","key","lifetime","principalScope","serialize","dismissed","JSON","stringify","parse","raw","parsed","isDismissedMap","undefined","isModelProviderOnboardingDismissed","workspaceId","Boolean","readDismissedMap","dismissModelProviderOnboarding","write","read","value","Array","isArray","Object","values","every","entry"],"mappings":"AAAA,SAAQA,yBAAyB,EAAEC,uBAAuB,QAAO,qBAAqB;AAItF,MAAMC,mBAAmBF,0BAA0BC,yBAAyB;IAC1EE,KAAK;IACLC,UAAU;IACVC,gBAAgB;IAChBC,WAAW,CAACC,YAA4BC,KAAKC,SAAS,CAACF;IACvDG,OAAO,CAACC;QACN,IAAI;YACF,MAAMC,SAAkBJ,KAAKE,KAAK,CAACC;YACnC,OAAOE,eAAeD,UAAUA,SAASE;QAC3C,EAAE,OAAM;YACN,OAAOA;QACT;IACF;AACF;AAEA,OAAO,SAASC,mCAAmCC,WAAmB;IACpE,OAAOC,QAAQC,kBAAkB,CAACF,YAAY;AAChD;AAEA,OAAO,SAASG,+BAA+BH,WAAmB;IAChE,MAAMT,YAAYW;IAClBX,SAAS,CAACS,YAAY,GAAG;IACzBd,iBAAiBkB,KAAK,CAACb;AACzB;AAEA,SAASW;IACP,OAAOhB,iBAAiBmB,IAAI,MAAM,CAAC;AACrC;AAEA,SAASR,eAAeS,KAAc;IACpC,IAAI,OAAOA,UAAU,YAAYA,UAAU,QAAQC,MAAMC,OAAO,CAACF,QAAQ,OAAO;IAChF,OAAOG,OAAOC,MAAM,CAACJ,OAAOK,KAAK,CAAC,CAACC,QAAUA,UAAU;AACzD"}
|