feat(coding): add model tools and device packages
This commit is contained in:
74
shared/device-packages.ts
Normal file
74
shared/device-packages.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
export type DevicePackageSourceKind = 'npm' | 'git' | 'file';
|
||||
export type DevicePackageKind = 'skill-only' | 'pi-extension' | 'mixed';
|
||||
|
||||
export interface DevicePackageSkillEntry {
|
||||
id: string;
|
||||
entryPath: string;
|
||||
}
|
||||
|
||||
export interface InstallPreviewV1 {
|
||||
schemaVersion: 1;
|
||||
planId: string;
|
||||
expiresAt: string;
|
||||
requestedSource: string;
|
||||
resolvedSource: string;
|
||||
packageId: string;
|
||||
displayName: string;
|
||||
resolvedVersion: string;
|
||||
kind: DevicePackageKind;
|
||||
skillEntries: readonly DevicePackageSkillEntry[];
|
||||
extensionEntries: readonly string[];
|
||||
includesExecutableCode: boolean;
|
||||
ignoredLifecycleScripts: readonly string[];
|
||||
warnings: readonly string[];
|
||||
scope: 'device-parent-workers';
|
||||
}
|
||||
|
||||
export interface DevicePackageRecordV1 {
|
||||
schemaVersion: 1;
|
||||
packageId: string;
|
||||
displayName: string;
|
||||
resolvedVersion: string;
|
||||
source: Readonly<{
|
||||
kind: DevicePackageSourceKind;
|
||||
requested: string;
|
||||
resolved: string;
|
||||
}>;
|
||||
kind: DevicePackageKind;
|
||||
skillEntries: readonly DevicePackageSkillEntry[];
|
||||
extensionEntries: readonly string[];
|
||||
enabled: boolean;
|
||||
confirmedExecutableCode: boolean;
|
||||
installedAt: string;
|
||||
}
|
||||
|
||||
export interface DevicePackageIndexV1 {
|
||||
schemaVersion: 1;
|
||||
generation: number;
|
||||
packages: readonly DevicePackageRecordV1[];
|
||||
}
|
||||
|
||||
export type DevicePackageToolOperation =
|
||||
| 'prepare'
|
||||
| 'commit'
|
||||
| 'list'
|
||||
| 'set_enabled'
|
||||
| 'uninstall';
|
||||
|
||||
export const DEVICE_PACKAGE_TOOL_NAMES = Object.freeze([
|
||||
'local_package_prepare',
|
||||
'local_package_commit',
|
||||
'local_package_list',
|
||||
'local_package_set_enabled',
|
||||
'local_package_uninstall',
|
||||
] as const);
|
||||
|
||||
export type DevicePackageToolName = typeof DEVICE_PACKAGE_TOOL_NAMES[number];
|
||||
|
||||
export type DevicePackageToolDetailsV1 = Readonly<{
|
||||
schema: 'makelore-device-package.v1';
|
||||
operation: DevicePackageToolOperation;
|
||||
success: true;
|
||||
preview?: InstallPreviewV1;
|
||||
index?: DevicePackageIndexV1;
|
||||
}>;
|
||||
Reference in New Issue
Block a user