@w3kits/sdk 0.1.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 +29 -0
- package/dist/app-file.d.ts +39 -0
- package/dist/app-file.d.ts.map +1 -0
- package/dist/app-file.js +81 -0
- package/dist/app-file.js.map +1 -0
- package/dist/browser.d.ts +12 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +12 -0
- package/dist/browser.js.map +1 -0
- package/dist/container.d.ts +36 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +125 -0
- package/dist/container.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/local-cache.d.ts +207 -0
- package/dist/local-cache.d.ts.map +1 -0
- package/dist/local-cache.js +187 -0
- package/dist/local-cache.js.map +1 -0
- package/dist/path-mapping.d.ts +79 -0
- package/dist/path-mapping.d.ts.map +1 -0
- package/dist/path-mapping.js +156 -0
- package/dist/path-mapping.js.map +1 -0
- package/dist/plugin.d.ts +34 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +124 -0
- package/dist/plugin.js.map +1 -0
- package/dist/profile-app-file.d.ts +202 -0
- package/dist/profile-app-file.d.ts.map +1 -0
- package/dist/profile-app-file.js +352 -0
- package/dist/profile-app-file.js.map +1 -0
- package/dist/r2-client.d.ts +76 -0
- package/dist/r2-client.d.ts.map +1 -0
- package/dist/r2-client.js +56 -0
- package/dist/r2-client.js.map +1 -0
- package/dist/storage/index.d.ts +67 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +111 -0
- package/dist/storage/index.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
export declare const DEFAULT_PLUGIN_PROFILE_ID = "default";
|
|
2
|
+
export declare const PROFILE_APP_SCHEMA_VERSION = 1;
|
|
3
|
+
export declare const PROFILE_VISIBLE_ROOT = "/home/agent";
|
|
4
|
+
export interface ProfileAppPluginConfigFile {
|
|
5
|
+
path: string;
|
|
6
|
+
content: string;
|
|
7
|
+
overwrite?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ProfileAppPackageDescriptor {
|
|
10
|
+
name?: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
registry?: string;
|
|
13
|
+
tarball?: string;
|
|
14
|
+
integrity?: string;
|
|
15
|
+
provenance?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ProfileAppPluginRuntime {
|
|
18
|
+
type: string;
|
|
19
|
+
configFiles?: ProfileAppPluginConfigFile[];
|
|
20
|
+
bundle_url?: string;
|
|
21
|
+
sha256?: string;
|
|
22
|
+
assetBaseUrl?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ProfileAppPluginDesktop {
|
|
25
|
+
defaultWidth: number;
|
|
26
|
+
defaultHeight: number;
|
|
27
|
+
minWidth?: number;
|
|
28
|
+
minHeight?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface ProfileAppPluginDescriptor {
|
|
31
|
+
slug: string;
|
|
32
|
+
name: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
version: string;
|
|
35
|
+
commitHash: string;
|
|
36
|
+
entryUrl: string;
|
|
37
|
+
iconUrl: string;
|
|
38
|
+
marketplaceIconUrl?: string;
|
|
39
|
+
desktop: ProfileAppPluginDesktop;
|
|
40
|
+
runtime: ProfileAppPluginRuntime;
|
|
41
|
+
package?: ProfileAppPackageDescriptor;
|
|
42
|
+
}
|
|
43
|
+
export type ProfileAppDescriptorRecord = object;
|
|
44
|
+
export type ProfileAppVersionStatus = "installed" | "materializing" | "active" | "failed" | "rolled-back";
|
|
45
|
+
export type ProfileAppMaterializationStatus = "pending" | "ready" | "failed" | "rolled-back";
|
|
46
|
+
export interface ProfileAppSource {
|
|
47
|
+
catalogVersion: string;
|
|
48
|
+
commitHash: string;
|
|
49
|
+
entryUrl: string;
|
|
50
|
+
packageName?: string;
|
|
51
|
+
packageVersion?: string;
|
|
52
|
+
packageTarball?: string;
|
|
53
|
+
packageIntegrity?: string;
|
|
54
|
+
bundleUrl?: string;
|
|
55
|
+
bundleSha256?: string;
|
|
56
|
+
assetBaseUrl?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface ProfileAppVersion<TDescriptor extends ProfileAppDescriptorRecord = ProfileAppPluginDescriptor> {
|
|
59
|
+
versionId: string;
|
|
60
|
+
version: string;
|
|
61
|
+
catalogVersion: string;
|
|
62
|
+
commitHash: string;
|
|
63
|
+
runtimeKind: string;
|
|
64
|
+
status: ProfileAppVersionStatus;
|
|
65
|
+
installedAt: string;
|
|
66
|
+
activatedAt?: string;
|
|
67
|
+
failedAt?: string;
|
|
68
|
+
failureReason?: string;
|
|
69
|
+
source: ProfileAppSource;
|
|
70
|
+
descriptor: TDescriptor;
|
|
71
|
+
}
|
|
72
|
+
export interface ProfileAppFile<TDescriptor extends ProfileAppDescriptorRecord = ProfileAppPluginDescriptor> {
|
|
73
|
+
schemaVersion: typeof PROFILE_APP_SCHEMA_VERSION;
|
|
74
|
+
userId: string;
|
|
75
|
+
profileId: string;
|
|
76
|
+
pluginSlug: string;
|
|
77
|
+
runtimeKind: string;
|
|
78
|
+
activeVersion: string | null;
|
|
79
|
+
installedVersions: Record<string, ProfileAppVersion<TDescriptor>>;
|
|
80
|
+
source: ProfileAppSource;
|
|
81
|
+
materialization: {
|
|
82
|
+
status: ProfileAppMaterializationStatus;
|
|
83
|
+
versionId: string | null;
|
|
84
|
+
updatedAt: string;
|
|
85
|
+
error?: string;
|
|
86
|
+
};
|
|
87
|
+
rollback?: {
|
|
88
|
+
previousActiveVersion: string;
|
|
89
|
+
failedVersion: string;
|
|
90
|
+
reason: string;
|
|
91
|
+
updatedAt: string;
|
|
92
|
+
};
|
|
93
|
+
configFiles: ProfileAppPluginConfigFile[];
|
|
94
|
+
dataRoots: {
|
|
95
|
+
appRoot: string;
|
|
96
|
+
dataRoot: string;
|
|
97
|
+
cacheRoot: string;
|
|
98
|
+
workspaceRoot: string;
|
|
99
|
+
};
|
|
100
|
+
desktop?: {
|
|
101
|
+
appId: string;
|
|
102
|
+
title: string;
|
|
103
|
+
description: string | null;
|
|
104
|
+
iconUrl: string;
|
|
105
|
+
entryUrl: string;
|
|
106
|
+
defaultWidth: number;
|
|
107
|
+
defaultHeight: number;
|
|
108
|
+
minWidth: number | null;
|
|
109
|
+
minHeight: number | null;
|
|
110
|
+
sortOrder: number;
|
|
111
|
+
positionX: number | null;
|
|
112
|
+
positionY: number | null;
|
|
113
|
+
installedAt: string;
|
|
114
|
+
updatedAt: string;
|
|
115
|
+
};
|
|
116
|
+
updatedAt: string;
|
|
117
|
+
}
|
|
118
|
+
export interface InstalledPluginApp<TPlugin extends ProfileAppPluginDescriptor = ProfileAppPluginDescriptor> {
|
|
119
|
+
id: string;
|
|
120
|
+
userId: string;
|
|
121
|
+
pluginSlug: string;
|
|
122
|
+
version: string;
|
|
123
|
+
commitHash: string;
|
|
124
|
+
title: string;
|
|
125
|
+
description: string | null;
|
|
126
|
+
iconUrl: string;
|
|
127
|
+
entryUrl: string;
|
|
128
|
+
defaultWidth: number;
|
|
129
|
+
defaultHeight: number;
|
|
130
|
+
minWidth: number | null;
|
|
131
|
+
minHeight: number | null;
|
|
132
|
+
sortOrder: number;
|
|
133
|
+
positionX: number | null;
|
|
134
|
+
positionY: number | null;
|
|
135
|
+
installedAt: string;
|
|
136
|
+
updatedAt: string;
|
|
137
|
+
descriptor?: TPlugin;
|
|
138
|
+
profileApp?: {
|
|
139
|
+
pluginSlug: string;
|
|
140
|
+
profileId: string;
|
|
141
|
+
pluginVersion: string;
|
|
142
|
+
activeVersion: string | null;
|
|
143
|
+
profileVfsRoot: string;
|
|
144
|
+
visibleConfigRoot: string;
|
|
145
|
+
configFiles: ProfileAppPluginConfigFile[];
|
|
146
|
+
dataRoots: ProfileAppFile<TPlugin>["dataRoots"];
|
|
147
|
+
materialization: ProfileAppFile<TPlugin>["materialization"];
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Resolves the icon URL persisted into installed profile app files.
|
|
152
|
+
*/
|
|
153
|
+
export declare function profileAppInstallIconUrl(plugin: Pick<ProfileAppPluginDescriptor, "iconUrl" | "marketplaceIconUrl" | "runtime">): string;
|
|
154
|
+
/**
|
|
155
|
+
* Implements profileVfsRoot behavior.
|
|
156
|
+
*/
|
|
157
|
+
export declare function profileVfsRoot(_profileId?: string | null): string;
|
|
158
|
+
/**
|
|
159
|
+
* Implements profileAppsRoot behavior.
|
|
160
|
+
*/
|
|
161
|
+
export declare function profileAppsRoot(_profileId?: string | null): string;
|
|
162
|
+
/**
|
|
163
|
+
* Implements profileR2Prefix behavior.
|
|
164
|
+
*/
|
|
165
|
+
export declare function profileR2Prefix(userId: string, profileId?: string | null): string;
|
|
166
|
+
/**
|
|
167
|
+
* Implements profileAppFilePath behavior.
|
|
168
|
+
*/
|
|
169
|
+
export declare function profileAppFilePath(pluginSlug: string, profileId?: string | null): string;
|
|
170
|
+
/**
|
|
171
|
+
* Implements profileAppVersionId behavior.
|
|
172
|
+
*/
|
|
173
|
+
export declare function profileAppVersionId(plugin: Pick<ProfileAppPluginDescriptor, "version" | "commitHash">): string;
|
|
174
|
+
/**
|
|
175
|
+
* Implements createProfileAppFileFromPlugin behavior.
|
|
176
|
+
*/
|
|
177
|
+
export declare function createProfileAppFileFromPlugin<TPlugin extends ProfileAppPluginDescriptor>(input: {
|
|
178
|
+
userId: string;
|
|
179
|
+
plugin: TPlugin;
|
|
180
|
+
profileId?: string | null;
|
|
181
|
+
previous?: ProfileAppFile<TPlugin> | null;
|
|
182
|
+
installedApp?: InstalledPluginApp<TPlugin>;
|
|
183
|
+
now?: string;
|
|
184
|
+
activate?: boolean;
|
|
185
|
+
}): ProfileAppFile<TPlugin>;
|
|
186
|
+
/**
|
|
187
|
+
* Implements markProfileAppVersionFailed behavior.
|
|
188
|
+
*/
|
|
189
|
+
export declare function markProfileAppVersionFailed<TDescriptor extends ProfileAppDescriptorRecord>(file: ProfileAppFile<TDescriptor>, versionId: string, reason: string, now?: string): ProfileAppFile<TDescriptor>;
|
|
190
|
+
/**
|
|
191
|
+
* Implements parseProfileAppFile behavior.
|
|
192
|
+
*/
|
|
193
|
+
export declare function parseProfileAppFile<TDescriptor extends ProfileAppDescriptorRecord = ProfileAppPluginDescriptor>(value: string, expected?: {
|
|
194
|
+
userId?: string;
|
|
195
|
+
profileId?: string | null;
|
|
196
|
+
pluginSlug?: string;
|
|
197
|
+
}): ProfileAppFile<TDescriptor> | null;
|
|
198
|
+
/**
|
|
199
|
+
* Implements installedPluginAppFromProfileAppFile behavior.
|
|
200
|
+
*/
|
|
201
|
+
export declare function installedPluginAppFromProfileAppFile<TPlugin extends ProfileAppPluginDescriptor>(file: ProfileAppFile<TPlugin>, sortOrder?: number): InstalledPluginApp<TPlugin> | null;
|
|
202
|
+
//# sourceMappingURL=profile-app-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-app-file.d.ts","sourceRoot":"","sources":["../src/profile-app-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines SDK-owned profile-scoped marketplace app install file helpers.
|
|
3
|
+
* @owner w3kits-sdk
|
|
4
|
+
* @module sdk
|
|
5
|
+
* @boundary profile-app-file
|
|
6
|
+
*/
|
|
7
|
+
import { appFilePath, VISIBLE_HOME_ROOT, } from "./path-mapping.js";
|
|
8
|
+
export const DEFAULT_PLUGIN_PROFILE_ID = "default";
|
|
9
|
+
export const PROFILE_APP_SCHEMA_VERSION = 1;
|
|
10
|
+
export const PROFILE_VISIBLE_ROOT = VISIBLE_HOME_ROOT;
|
|
11
|
+
/**
|
|
12
|
+
* Implements isRecord behavior.
|
|
13
|
+
*/
|
|
14
|
+
function isRecord(value) {
|
|
15
|
+
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolves the icon URL persisted into installed profile app files.
|
|
19
|
+
*/
|
|
20
|
+
export function profileAppInstallIconUrl(plugin) {
|
|
21
|
+
if (plugin.runtime.type === "local-only") {
|
|
22
|
+
return plugin.marketplaceIconUrl || plugin.iconUrl;
|
|
23
|
+
}
|
|
24
|
+
return plugin.iconUrl || plugin.marketplaceIconUrl || "";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Normalizes profile ids for profile app file helpers.
|
|
28
|
+
*/
|
|
29
|
+
function normalizeProfileAppProfileId(profileId) {
|
|
30
|
+
const normalized = (profileId || DEFAULT_PLUGIN_PROFILE_ID).trim();
|
|
31
|
+
if (!/^[a-z0-9][a-z0-9._-]{0,62}$/.test(normalized)) {
|
|
32
|
+
throw new Error("invalid_profile_id");
|
|
33
|
+
}
|
|
34
|
+
if (normalized === "." || normalized === "..") {
|
|
35
|
+
throw new Error("invalid_profile_id");
|
|
36
|
+
}
|
|
37
|
+
return normalized;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Implements normalizePluginSlug behavior.
|
|
41
|
+
*/
|
|
42
|
+
function normalizePluginSlug(pluginSlug) {
|
|
43
|
+
const normalized = pluginSlug.trim();
|
|
44
|
+
if (!/^[a-z0-9][a-z0-9._-]{0,127}$/.test(normalized)) {
|
|
45
|
+
throw new Error("invalid_plugin_slug");
|
|
46
|
+
}
|
|
47
|
+
return normalized;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Implements profileVfsRoot behavior.
|
|
51
|
+
*/
|
|
52
|
+
export function profileVfsRoot(_profileId) {
|
|
53
|
+
return PROFILE_VISIBLE_ROOT;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Implements profileAppsRoot behavior.
|
|
57
|
+
*/
|
|
58
|
+
export function profileAppsRoot(_profileId) {
|
|
59
|
+
return `${PROFILE_VISIBLE_ROOT}/apps`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Implements profileR2Prefix behavior.
|
|
63
|
+
*/
|
|
64
|
+
export function profileR2Prefix(userId, profileId) {
|
|
65
|
+
return `users/${encodeURIComponent(userId)}/profiles/${normalizeProfileAppProfileId(profileId)}/`;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Implements profileAppFilePath behavior.
|
|
69
|
+
*/
|
|
70
|
+
export function profileAppFilePath(pluginSlug, profileId) {
|
|
71
|
+
void profileId;
|
|
72
|
+
return appFilePath(normalizePluginSlug(pluginSlug));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Implements profileAppVersionId behavior.
|
|
76
|
+
*/
|
|
77
|
+
export function profileAppVersionId(plugin) {
|
|
78
|
+
return `${plugin.version}+${plugin.commitHash.slice(0, 12)}`;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Implements profileAppSourceFromPlugin behavior.
|
|
82
|
+
*/
|
|
83
|
+
function profileAppSourceFromPlugin(plugin) {
|
|
84
|
+
return {
|
|
85
|
+
catalogVersion: plugin.version,
|
|
86
|
+
commitHash: plugin.commitHash,
|
|
87
|
+
entryUrl: plugin.entryUrl,
|
|
88
|
+
packageName: plugin.package?.name,
|
|
89
|
+
packageVersion: plugin.package?.version,
|
|
90
|
+
packageTarball: plugin.package?.tarball,
|
|
91
|
+
packageIntegrity: plugin.package?.integrity,
|
|
92
|
+
bundleUrl: plugin.runtime.bundle_url,
|
|
93
|
+
bundleSha256: plugin.runtime.sha256,
|
|
94
|
+
assetBaseUrl: plugin.runtime.assetBaseUrl,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Implements profileAppDataRoots behavior.
|
|
99
|
+
*/
|
|
100
|
+
function profileAppDataRoots(input) {
|
|
101
|
+
const root = `${profileVfsRoot(input.profileId)}/apps/${input.pluginSlug}`;
|
|
102
|
+
return {
|
|
103
|
+
appRoot: root,
|
|
104
|
+
dataRoot: `${root}/data`,
|
|
105
|
+
cacheRoot: `${root}/cache`,
|
|
106
|
+
workspaceRoot: `${profileVfsRoot(input.profileId)}/workspace`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Implements profileDesktopFromInstalledApp behavior.
|
|
111
|
+
*/
|
|
112
|
+
function profileDesktopFromInstalledApp(app) {
|
|
113
|
+
return {
|
|
114
|
+
appId: app.id,
|
|
115
|
+
title: app.title,
|
|
116
|
+
description: app.description,
|
|
117
|
+
iconUrl: app.iconUrl,
|
|
118
|
+
entryUrl: app.entryUrl,
|
|
119
|
+
defaultWidth: app.defaultWidth,
|
|
120
|
+
defaultHeight: app.defaultHeight,
|
|
121
|
+
minWidth: app.minWidth,
|
|
122
|
+
minHeight: app.minHeight,
|
|
123
|
+
sortOrder: app.sortOrder,
|
|
124
|
+
positionX: app.positionX,
|
|
125
|
+
positionY: app.positionY,
|
|
126
|
+
installedAt: app.installedAt,
|
|
127
|
+
updatedAt: app.updatedAt,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Implements defaultProfileDesktopProjection behavior.
|
|
132
|
+
*/
|
|
133
|
+
function defaultProfileDesktopProjection(input) {
|
|
134
|
+
const previous = input.previous?.desktop;
|
|
135
|
+
return {
|
|
136
|
+
appId: previous?.appId ?? `profile:${input.profileId}:${input.pluginSlug}`,
|
|
137
|
+
title: input.plugin.name,
|
|
138
|
+
description: input.plugin.description ?? null,
|
|
139
|
+
iconUrl: profileAppInstallIconUrl(input.plugin),
|
|
140
|
+
entryUrl: input.plugin.entryUrl,
|
|
141
|
+
defaultWidth: input.plugin.desktop.defaultWidth,
|
|
142
|
+
defaultHeight: input.plugin.desktop.defaultHeight,
|
|
143
|
+
minWidth: input.plugin.desktop.minWidth ?? null,
|
|
144
|
+
minHeight: input.plugin.desktop.minHeight ?? null,
|
|
145
|
+
sortOrder: previous?.sortOrder ?? 0,
|
|
146
|
+
positionX: previous?.positionX ?? null,
|
|
147
|
+
positionY: previous?.positionY ?? null,
|
|
148
|
+
installedAt: previous?.installedAt ?? input.now,
|
|
149
|
+
updatedAt: input.now,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Implements createProfileAppFileFromPlugin behavior.
|
|
154
|
+
*/
|
|
155
|
+
export function createProfileAppFileFromPlugin(input) {
|
|
156
|
+
const profileId = normalizeProfileAppProfileId(input.profileId);
|
|
157
|
+
const pluginSlug = normalizePluginSlug(input.plugin.slug);
|
|
158
|
+
const now = input.now ?? new Date().toISOString();
|
|
159
|
+
const previous = input.previous?.userId === input.userId &&
|
|
160
|
+
input.previous.profileId === profileId &&
|
|
161
|
+
input.previous.pluginSlug === pluginSlug
|
|
162
|
+
? input.previous
|
|
163
|
+
: null;
|
|
164
|
+
const versionId = profileAppVersionId(input.plugin);
|
|
165
|
+
const source = profileAppSourceFromPlugin(input.plugin);
|
|
166
|
+
const activate = input.activate ?? true;
|
|
167
|
+
const desktop = input.installedApp
|
|
168
|
+
? profileDesktopFromInstalledApp(input.installedApp)
|
|
169
|
+
: defaultProfileDesktopProjection({
|
|
170
|
+
userId: input.userId,
|
|
171
|
+
profileId,
|
|
172
|
+
pluginSlug,
|
|
173
|
+
plugin: input.plugin,
|
|
174
|
+
previous,
|
|
175
|
+
now,
|
|
176
|
+
});
|
|
177
|
+
const installedVersions = {
|
|
178
|
+
...(previous?.installedVersions ?? {}),
|
|
179
|
+
};
|
|
180
|
+
for (const [id, version] of Object.entries(installedVersions)) {
|
|
181
|
+
if (activate && id !== versionId && version.status === "active") {
|
|
182
|
+
installedVersions[id] = { ...version, status: "installed" };
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
installedVersions[versionId] = {
|
|
186
|
+
versionId,
|
|
187
|
+
version: input.plugin.version,
|
|
188
|
+
catalogVersion: input.plugin.version,
|
|
189
|
+
commitHash: input.plugin.commitHash,
|
|
190
|
+
runtimeKind: input.plugin.runtime.type,
|
|
191
|
+
status: activate ? "active" : "installed",
|
|
192
|
+
installedAt: installedVersions[versionId]?.installedAt ?? now,
|
|
193
|
+
activatedAt: activate ? now : installedVersions[versionId]?.activatedAt,
|
|
194
|
+
source,
|
|
195
|
+
descriptor: input.plugin,
|
|
196
|
+
};
|
|
197
|
+
const activeVersion = activate
|
|
198
|
+
? versionId
|
|
199
|
+
: (previous?.activeVersion ?? null);
|
|
200
|
+
return {
|
|
201
|
+
schemaVersion: PROFILE_APP_SCHEMA_VERSION,
|
|
202
|
+
userId: input.userId,
|
|
203
|
+
profileId,
|
|
204
|
+
pluginSlug,
|
|
205
|
+
runtimeKind: input.plugin.runtime.type,
|
|
206
|
+
activeVersion,
|
|
207
|
+
installedVersions,
|
|
208
|
+
source,
|
|
209
|
+
materialization: {
|
|
210
|
+
status: activate ? "ready" : "pending",
|
|
211
|
+
versionId: activate ? versionId : null,
|
|
212
|
+
updatedAt: now,
|
|
213
|
+
},
|
|
214
|
+
configFiles: input.plugin.runtime.configFiles ?? [],
|
|
215
|
+
dataRoots: profileAppDataRoots({ profileId, pluginSlug }),
|
|
216
|
+
desktop,
|
|
217
|
+
updatedAt: now,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Implements markProfileAppVersionFailed behavior.
|
|
222
|
+
*/
|
|
223
|
+
export function markProfileAppVersionFailed(file, versionId, reason, now = new Date().toISOString()) {
|
|
224
|
+
const version = file.installedVersions[versionId];
|
|
225
|
+
if (!version)
|
|
226
|
+
throw new Error("unknown_profile_app_version");
|
|
227
|
+
const previousActiveVersion = file.activeVersion && file.activeVersion !== versionId
|
|
228
|
+
? file.activeVersion
|
|
229
|
+
: Object.values(file.installedVersions).find((candidate) => candidate.versionId !== versionId && candidate.status === "active")?.versionId;
|
|
230
|
+
return {
|
|
231
|
+
...file,
|
|
232
|
+
activeVersion: previousActiveVersion ?? null,
|
|
233
|
+
installedVersions: {
|
|
234
|
+
...file.installedVersions,
|
|
235
|
+
[versionId]: {
|
|
236
|
+
...version,
|
|
237
|
+
status: "failed",
|
|
238
|
+
failedAt: now,
|
|
239
|
+
failureReason: reason,
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
materialization: {
|
|
243
|
+
status: "failed",
|
|
244
|
+
versionId,
|
|
245
|
+
updatedAt: now,
|
|
246
|
+
error: reason,
|
|
247
|
+
},
|
|
248
|
+
rollback: previousActiveVersion
|
|
249
|
+
? {
|
|
250
|
+
previousActiveVersion,
|
|
251
|
+
failedVersion: versionId,
|
|
252
|
+
reason,
|
|
253
|
+
updatedAt: now,
|
|
254
|
+
}
|
|
255
|
+
: undefined,
|
|
256
|
+
updatedAt: now,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Implements parseProfileAppFile behavior.
|
|
261
|
+
*/
|
|
262
|
+
export function parseProfileAppFile(value, expected) {
|
|
263
|
+
let parsed;
|
|
264
|
+
try {
|
|
265
|
+
parsed = JSON.parse(value);
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
if (!isRecord(parsed))
|
|
271
|
+
return null;
|
|
272
|
+
if (parsed.schemaVersion !== PROFILE_APP_SCHEMA_VERSION)
|
|
273
|
+
return null;
|
|
274
|
+
if (typeof parsed.userId !== "string")
|
|
275
|
+
return null;
|
|
276
|
+
if (typeof parsed.profileId !== "string")
|
|
277
|
+
return null;
|
|
278
|
+
if (typeof parsed.pluginSlug !== "string")
|
|
279
|
+
return null;
|
|
280
|
+
if (typeof parsed.runtimeKind !== "string")
|
|
281
|
+
return null;
|
|
282
|
+
if (parsed.activeVersion !== null &&
|
|
283
|
+
typeof parsed.activeVersion !== "string") {
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
if (!isRecord(parsed.installedVersions))
|
|
287
|
+
return null;
|
|
288
|
+
if (!isRecord(parsed.source))
|
|
289
|
+
return null;
|
|
290
|
+
if (!isRecord(parsed.materialization))
|
|
291
|
+
return null;
|
|
292
|
+
if (!isRecord(parsed.dataRoots))
|
|
293
|
+
return null;
|
|
294
|
+
if (!Array.isArray(parsed.configFiles))
|
|
295
|
+
return null;
|
|
296
|
+
if (typeof parsed.updatedAt !== "string")
|
|
297
|
+
return null;
|
|
298
|
+
const profileId = normalizeProfileAppProfileId(expected?.profileId ?? parsed.profileId);
|
|
299
|
+
const pluginSlug = normalizePluginSlug(expected?.pluginSlug ?? parsed.pluginSlug);
|
|
300
|
+
if (expected?.userId && parsed.userId !== expected.userId)
|
|
301
|
+
return null;
|
|
302
|
+
if (parsed.profileId !== profileId)
|
|
303
|
+
return null;
|
|
304
|
+
if (parsed.pluginSlug !== pluginSlug)
|
|
305
|
+
return null;
|
|
306
|
+
return parsed;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Implements installedPluginAppFromProfileAppFile behavior.
|
|
310
|
+
*/
|
|
311
|
+
export function installedPluginAppFromProfileAppFile(file, sortOrder = 0) {
|
|
312
|
+
const activeVersion = file.activeVersion
|
|
313
|
+
? file.installedVersions[file.activeVersion]
|
|
314
|
+
: undefined;
|
|
315
|
+
if (!activeVersion)
|
|
316
|
+
return null;
|
|
317
|
+
const plugin = activeVersion.descriptor;
|
|
318
|
+
const desktop = file.desktop;
|
|
319
|
+
return {
|
|
320
|
+
id: desktop?.appId ?? `profile:${file.profileId}:${file.pluginSlug}`,
|
|
321
|
+
userId: file.userId,
|
|
322
|
+
pluginSlug: file.pluginSlug,
|
|
323
|
+
version: activeVersion.version,
|
|
324
|
+
commitHash: activeVersion.commitHash,
|
|
325
|
+
title: desktop?.title ?? plugin.name,
|
|
326
|
+
description: desktop?.description ?? plugin.description ?? null,
|
|
327
|
+
iconUrl: desktop?.iconUrl ?? profileAppInstallIconUrl(plugin),
|
|
328
|
+
entryUrl: desktop?.entryUrl ?? plugin.entryUrl,
|
|
329
|
+
defaultWidth: desktop?.defaultWidth ?? plugin.desktop.defaultWidth,
|
|
330
|
+
defaultHeight: desktop?.defaultHeight ?? plugin.desktop.defaultHeight,
|
|
331
|
+
minWidth: desktop?.minWidth ?? plugin.desktop.minWidth ?? null,
|
|
332
|
+
minHeight: desktop?.minHeight ?? plugin.desktop.minHeight ?? null,
|
|
333
|
+
sortOrder: desktop?.sortOrder ?? sortOrder,
|
|
334
|
+
positionX: desktop?.positionX ?? null,
|
|
335
|
+
positionY: desktop?.positionY ?? null,
|
|
336
|
+
installedAt: desktop?.installedAt ?? activeVersion.installedAt,
|
|
337
|
+
updatedAt: desktop?.updatedAt ?? file.updatedAt,
|
|
338
|
+
descriptor: plugin,
|
|
339
|
+
profileApp: {
|
|
340
|
+
pluginSlug: file.pluginSlug,
|
|
341
|
+
profileId: file.profileId,
|
|
342
|
+
pluginVersion: activeVersion.version,
|
|
343
|
+
activeVersion: file.activeVersion,
|
|
344
|
+
profileVfsRoot: profileVfsRoot(file.profileId),
|
|
345
|
+
visibleConfigRoot: `${profileVfsRoot(file.profileId)}/.config/${file.pluginSlug}`,
|
|
346
|
+
configFiles: file.configFiles,
|
|
347
|
+
dataRoots: file.dataRoots,
|
|
348
|
+
materialization: file.materialization,
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=profile-app-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-app-file.js","sourceRoot":"","sources":["../src/profile-app-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines R2 native data-plane capability descriptors for SDK clients.
|
|
3
|
+
* @owner w3kits-sdk
|
|
4
|
+
* @module sdk
|
|
5
|
+
* @boundary r2-client
|
|
6
|
+
*/
|
|
7
|
+
import type { StorageCapabilityAction } from "./storage/index.js";
|
|
8
|
+
import type { StorageCapability } from "./storage/index.js";
|
|
9
|
+
export type R2TemporaryCredentials = {
|
|
10
|
+
accessKeyId: string;
|
|
11
|
+
secretAccessKey: string;
|
|
12
|
+
sessionToken?: string;
|
|
13
|
+
expiresAt: string;
|
|
14
|
+
};
|
|
15
|
+
export type R2PresignedRequest = {
|
|
16
|
+
key: string;
|
|
17
|
+
method: "GET" | "PUT" | "DELETE";
|
|
18
|
+
url: string;
|
|
19
|
+
headers?: Record<string, string>;
|
|
20
|
+
expiresAt: string;
|
|
21
|
+
};
|
|
22
|
+
export type R2DataPlaneDescriptor = {
|
|
23
|
+
bucket: string;
|
|
24
|
+
accountId?: string;
|
|
25
|
+
endpoint: string;
|
|
26
|
+
region: "auto";
|
|
27
|
+
forcePathStyle: true;
|
|
28
|
+
prefix: string;
|
|
29
|
+
actions: StorageCapabilityAction[];
|
|
30
|
+
credentials?: R2TemporaryCredentials;
|
|
31
|
+
presigned?: R2PresignedRequest[];
|
|
32
|
+
};
|
|
33
|
+
export declare const W3KITS_STORAGE_CAPABILITY_DESCRIPTOR_VERSION = "w3kits.storage.capability.v1";
|
|
34
|
+
export type W3KitsStorageCapabilityDescriptor = {
|
|
35
|
+
version: typeof W3KITS_STORAGE_CAPABILITY_DESCRIPTOR_VERSION;
|
|
36
|
+
visibleRoot: StorageCapability["root"];
|
|
37
|
+
capability: StorageCapability;
|
|
38
|
+
r2: R2DataPlaneDescriptor;
|
|
39
|
+
auth: {
|
|
40
|
+
mode: "runtime-session";
|
|
41
|
+
header: "x-w3kits-runtime-session";
|
|
42
|
+
};
|
|
43
|
+
localFirst: {
|
|
44
|
+
enabled: boolean;
|
|
45
|
+
store: "indexeddb-opfs";
|
|
46
|
+
commit: {
|
|
47
|
+
interactiveSuccess: "local";
|
|
48
|
+
remoteSync: "background";
|
|
49
|
+
};
|
|
50
|
+
flushPolicy: {
|
|
51
|
+
onChange: boolean;
|
|
52
|
+
debounceMs: number;
|
|
53
|
+
lifecycleEvents: string[];
|
|
54
|
+
highFrequencyPolling: false;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
sync: {
|
|
58
|
+
commitSemantics: "local-durable-first";
|
|
59
|
+
largeBodyThresholdBytes: number;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export type W3KitsStorageCapabilityDescriptorInput = {
|
|
63
|
+
capability: StorageCapability;
|
|
64
|
+
r2: R2DataPlaneDescriptor;
|
|
65
|
+
localFirstEnabled?: boolean;
|
|
66
|
+
largeBodyThresholdBytes?: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Creates the SDK-owned descriptor shape consumed by plugin/runtime bridges.
|
|
70
|
+
*/
|
|
71
|
+
export declare function createW3KitsStorageCapabilityDescriptor(input: W3KitsStorageCapabilityDescriptorInput): W3KitsStorageCapabilityDescriptor;
|
|
72
|
+
/**
|
|
73
|
+
* Builds a path-style R2 object URL from a scoped descriptor.
|
|
74
|
+
*/
|
|
75
|
+
export declare function r2ObjectUrl(descriptor: Pick<R2DataPlaneDescriptor, "endpoint" | "bucket" | "prefix">, key: string): string;
|
|
76
|
+
//# sourceMappingURL=r2-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r2-client.d.ts","sourceRoot":"","sources":["../src/r2-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,4CAA4C,iCACzB,CAAC;AAEjC,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,OAAO,4CAA4C,CAAC;IAC7D,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,EAAE,EAAE,qBAAqB,CAAC;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,0BAA0B,CAAC;KACpC,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,gBAAgB,CAAC;QACxB,MAAM,EAAE;YACN,kBAAkB,EAAE,OAAO,CAAC;YAC5B,UAAU,EAAE,YAAY,CAAC;SAC1B,CAAC;QACF,WAAW,EAAE;YACX,QAAQ,EAAE,OAAO,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,eAAe,EAAE,MAAM,EAAE,CAAC;YAC1B,oBAAoB,EAAE,KAAK,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,IAAI,EAAE;QACJ,eAAe,EAAE,qBAAqB,CAAC;QACvC,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,EAAE,EAAE,qBAAqB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,sCAAsC,GAC5C,iCAAiC,CAmCnC;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC,EACzE,GAAG,EAAE,MAAM,GACV,MAAM,CAWR"}
|