Skip to content

Commit

Permalink
fix s9pk build
Browse files Browse the repository at this point in the history
  • Loading branch information
dr-bonez committed Oct 11, 2024
1 parent eb68fbd commit 1c0827b
Show file tree
Hide file tree
Showing 21 changed files with 144 additions and 135 deletions.
1 change: 1 addition & 0 deletions container-runtime/src/Adapters/RpcListener.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ export const matchRpcResult = anyOf(
),
}),
)

export type RpcResult = typeof matchRpcResult._TYPE
type SocketResponse = ({ jsonrpc: "2.0"; id: IdType } & RpcResult) | null

Expand Down
8 changes: 7 additions & 1 deletion core/startos/src/util/logger.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
use std::io;

use tracing::Subscriber;
use tracing_subscriber::util::SubscriberInitExt;

Expand All @@ -21,7 +23,11 @@ impl EmbassyLogger {
let filter_layer = filter_layer
.add_directive("tokio=trace".parse().unwrap())
.add_directive("runtime=trace".parse().unwrap());
let fmt_layer = fmt::layer().with_target(true);
let fmt_layer = fmt::layer()
.with_writer(io::stderr)
.with_line_number(true)
.with_file(true)
.with_target(true);

let sub = tracing_subscriber::registry()
.with(filter_layer)
Expand Down
5 changes: 2 additions & 3 deletions sdk/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,8 @@ base/node_modules: base/package.json

node_modules: package/node_modules base/node_modules

publish: bundle package/package.json README.md LICENSE
cd dist
npm publish --access=public
publish: bundle package/package.json package/README.md package/LICENSE
cd dist && npm publish --access=public

link: bundle
cd dist && npm link
4 changes: 2 additions & 2 deletions sdk/base/lib/dependencies/setupDependencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as T from "../types"
import { once } from "../util"
import { Dependency } from "./Dependency"

type DependencyType<Manifest extends T.Manifest> = {
type DependencyType<Manifest extends T.SDKManifest> = {
[K in keyof {
[K in keyof Manifest["dependencies"]]: Manifest["dependencies"][K]["optional"] extends false
? K
Expand All @@ -16,7 +16,7 @@ type DependencyType<Manifest extends T.Manifest> = {
}]?: Dependency
}

export function setupDependencies<Manifest extends T.Manifest>(
export function setupDependencies<Manifest extends T.SDKManifest>(
fn: (options: { effects: T.Effects }) => Promise<DependencyType<Manifest>>,
): (options: { effects: T.Effects }) => Promise<null> {
const cell = { updater: async (_: { effects: T.Effects }) => null }
Expand Down
6 changes: 3 additions & 3 deletions sdk/package/lib/StartSdk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,12 +86,12 @@ type AnyNeverCond<T extends any[], Then, Else> =
T extends [any, ...infer U] ? AnyNeverCond<U,Then, Else> :
never

export class StartSdk<Manifest extends T.Manifest, Store> {
export class StartSdk<Manifest extends T.SDKManifest, Store> {
private constructor(readonly manifest: Manifest) {}
static of() {
return new StartSdk<never, never>(null as never)
}
withManifest<Manifest extends T.Manifest = never>(manifest: Manifest) {
withManifest<Manifest extends T.SDKManifest = never>(manifest: Manifest) {
return new StartSdk<Manifest, Store>(manifest)
}
withStore<Store extends Record<string, any>>() {
Expand Down Expand Up @@ -1358,7 +1358,7 @@ export class StartSdk<Manifest extends T.Manifest, Store> {
}
}

export async function runCommand<Manifest extends T.Manifest>(
export async function runCommand<Manifest extends T.SDKManifest>(
effects: Effects,
image: { id: keyof Manifest["images"] & T.ImageId; sharedRun?: boolean },
command: string | [string, ...string[]],
Expand Down
8 changes: 4 additions & 4 deletions sdk/package/lib/backup/Backups.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ export type BackupSync<Volumes extends string> = {
* ).build()q
* ```
*/
export class Backups<M extends T.Manifest> {
export class Backups<M extends T.SDKManifest> {
private constructor(
private options = DEFAULT_OPTIONS,
private restoreOptions: Partial<T.SyncOptions> = {},
private backupOptions: Partial<T.SyncOptions> = {},
private backupSet = [] as BackupSync<M["volumes"][number]>[],
) {}

static withVolumes<M extends T.Manifest = never>(
static withVolumes<M extends T.SDKManifest = never>(
...volumeNames: Array<M["volumes"][number]>
): Backups<M> {
return Backups.withSyncs(
Expand All @@ -54,13 +54,13 @@ export class Backups<M extends T.Manifest> {
)
}

static withSyncs<M extends T.Manifest = never>(
static withSyncs<M extends T.SDKManifest = never>(
...syncs: BackupSync<M["volumes"][number]>[]
) {
return syncs.reduce((acc, x) => acc.addSync(x), new Backups<M>())
}

static withOptions<M extends T.Manifest = never>(
static withOptions<M extends T.SDKManifest = never>(
options?: Partial<T.SyncOptions>,
) {
return new Backups<M>({ ...DEFAULT_OPTIONS, ...options })
Expand Down
4 changes: 2 additions & 2 deletions sdk/package/lib/backup/setupBackups.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Backups } from "./Backups"
import * as T from "../../../base/lib/types"
import { _ } from "../util"

export type SetupBackupsParams<M extends T.Manifest> =
export type SetupBackupsParams<M extends T.SDKManifest> =
| M["volumes"][number][]
| ((_: { effects: T.Effects }) => Promise<Backups<M>>)

Expand All @@ -11,7 +11,7 @@ type SetupBackupsRes = {
restoreBackup: T.ExpectedExports.restoreBackup
}

export function setupBackups<M extends T.Manifest>(
export function setupBackups<M extends T.SDKManifest>(
options: SetupBackupsParams<M>,
) {
let backupsFactory: (_: { effects: T.Effects }) => Promise<Backups<M>>
Expand Down
2 changes: 1 addition & 1 deletion sdk/package/lib/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export {
export { Daemons } from "./mainFn/Daemons"
export { SubContainer } from "./util/SubContainer"
export { StartSdk } from "./StartSdk"
export { setupManifest } from "./manifest/setupManifest"
export { setupManifest, buildManifest } from "./manifest/setupManifest"
export { FileHelper } from "./util/fileHelper"
export { setupExposeStore } from "./store/setupExposeStore"
export { pathBuilder } from "../../base/lib/util/PathBuilder"
Expand Down
4 changes: 2 additions & 2 deletions sdk/package/lib/inits/setupInit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import { VersionGraph } from "../version/VersionGraph"
import { Install } from "./setupInstall"
import { Uninstall } from "./setupUninstall"

export function setupInit<Manifest extends T.Manifest, Store>(
versions: VersionGraph<Manifest["version"]>,
export function setupInit<Manifest extends T.SDKManifest, Store>(
versions: VersionGraph<string>,
install: Install<Manifest, Store>,
uninstall: Uninstall<Manifest, Store>,
setServiceInterfaces: UpdateServiceInterfaces<any>,
Expand Down
8 changes: 4 additions & 4 deletions sdk/package/lib/inits/setupInstall.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import * as T from "../../../base/lib/types"

export type InstallFn<Manifest extends T.Manifest, Store> = (opts: {
export type InstallFn<Manifest extends T.SDKManifest, Store> = (opts: {
effects: T.Effects
}) => Promise<null | void | undefined>
export class Install<Manifest extends T.Manifest, Store> {
export class Install<Manifest extends T.SDKManifest, Store> {
private constructor(readonly fn: InstallFn<Manifest, Store>) {}
static of<Manifest extends T.Manifest, Store>(
static of<Manifest extends T.SDKManifest, Store>(
fn: InstallFn<Manifest, Store>,
) {
return new Install(fn)
Expand All @@ -18,7 +18,7 @@ export class Install<Manifest extends T.Manifest, Store> {
}
}

export function setupInstall<Manifest extends T.Manifest, Store>(
export function setupInstall<Manifest extends T.SDKManifest, Store>(
fn: InstallFn<Manifest, Store>,
) {
return Install.of(fn)
Expand Down
8 changes: 4 additions & 4 deletions sdk/package/lib/inits/setupUninstall.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import * as T from "../../../base/lib/types"

export type UninstallFn<Manifest extends T.Manifest, Store> = (opts: {
export type UninstallFn<Manifest extends T.SDKManifest, Store> = (opts: {
effects: T.Effects
}) => Promise<null | void | undefined>
export class Uninstall<Manifest extends T.Manifest, Store> {
export class Uninstall<Manifest extends T.SDKManifest, Store> {
private constructor(readonly fn: UninstallFn<Manifest, Store>) {}
static of<Manifest extends T.Manifest, Store>(
static of<Manifest extends T.SDKManifest, Store>(
fn: UninstallFn<Manifest, Store>,
) {
return new Uninstall(fn)
Expand All @@ -22,7 +22,7 @@ export class Uninstall<Manifest extends T.Manifest, Store> {
}
}

export function setupUninstall<Manifest extends T.Manifest, Store>(
export function setupUninstall<Manifest extends T.SDKManifest, Store>(
fn: UninstallFn<Manifest, Store>,
) {
return Uninstall.of(fn)
Expand Down
2 changes: 1 addition & 1 deletion sdk/package/lib/mainFn/CommandController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export class CommandController {
private process: cp.ChildProcessWithoutNullStreams,
readonly sigtermTimeout: number = DEFAULT_SIGTERM_TIMEOUT,
) {}
static of<Manifest extends T.Manifest>() {
static of<Manifest extends T.SDKManifest>() {
return async <A extends string>(
effects: T.Effects,
subcontainer:
Expand Down
2 changes: 1 addition & 1 deletion sdk/package/lib/mainFn/Daemon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export class Daemon {
get subContainerHandle(): undefined | ExecSpawnable {
return this.commandController?.subContainerHandle
}
static of<Manifest extends T.Manifest>() {
static of<Manifest extends T.SDKManifest>() {
return async <A extends string>(
effects: T.Effects,
subcontainer:
Expand Down
8 changes: 4 additions & 4 deletions sdk/package/lib/mainFn/Daemons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export type Ready = {
}

type DaemonsParams<
Manifest extends T.Manifest,
Manifest extends T.SDKManifest,
Ids extends string,
Command extends string,
Id extends string,
Expand All @@ -43,7 +43,7 @@ type DaemonsParams<

type ErrorDuplicateId<Id extends string> = `The id '${Id}' is already used`

export const runCommand = <Manifest extends T.Manifest>() =>
export const runCommand = <Manifest extends T.SDKManifest>() =>
CommandController.of<Manifest>()

/**
Expand All @@ -69,7 +69,7 @@ Daemons.of({
})
```
*/
export class Daemons<Manifest extends T.Manifest, Ids extends string>
export class Daemons<Manifest extends T.SDKManifest, Ids extends string>
implements T.DaemonBuildable
{
private constructor(
Expand All @@ -89,7 +89,7 @@ export class Daemons<Manifest extends T.Manifest, Ids extends string>
* @param options
* @returns
*/
static of<Manifest extends T.Manifest>(options: {
static of<Manifest extends T.SDKManifest>(options: {
effects: T.Effects
started: (onTerm: () => PromiseLike<void>) => PromiseLike<null>
healthReceipts: HealthReceipt[]
Expand Down
6 changes: 3 additions & 3 deletions sdk/package/lib/mainFn/Mounts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { MountOptions } from "../util/SubContainer"

type MountArray = { path: string; options: MountOptions }[]

export class Mounts<Manifest extends T.Manifest> {
export class Mounts<Manifest extends T.SDKManifest> {
private constructor(
readonly volumes: {
id: Manifest["volumes"][number]
Expand All @@ -25,7 +25,7 @@ export class Mounts<Manifest extends T.Manifest> {
}[],
) {}

static of<Manifest extends T.Manifest>() {
static of<Manifest extends T.SDKManifest>() {
return new Mounts<Manifest>([], [], [])
}

Expand Down Expand Up @@ -57,7 +57,7 @@ export class Mounts<Manifest extends T.Manifest> {
return this
}

addDependency<DependencyManifest extends T.Manifest>(
addDependency<DependencyManifest extends T.SDKManifest>(
dependencyId: keyof Manifest["dependencies"] & string,
volumeId: DependencyManifest["volumes"][number],
subpath: string | null,
Expand Down
2 changes: 1 addition & 1 deletion sdk/package/lib/mainFn/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export const DEFAULT_SIGTERM_TIMEOUT = 30_000
* @param fn
* @returns
*/
export const setupMain = <Manifest extends T.Manifest, Store>(
export const setupMain = <Manifest extends T.SDKManifest, Store>(
fn: (o: {
effects: T.Effects
started(onTerm: () => PromiseLike<void>): PromiseLike<null>
Expand Down
18 changes: 17 additions & 1 deletion sdk/package/lib/manifest/setupManifest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,23 @@ import { VersionGraph } from "../version/VersionGraph"
* @param manifest Static properties of the package
*/
export function setupManifest<
Id extends string,
Dependencies extends Record<string, unknown>,
VolumesTypes extends VolumeId,
AssetTypes extends VolumeId,
ImagesTypes extends ImageId,
Manifest extends {
dependencies: Dependencies
id: Id
assets: AssetTypes[]
images: Record<ImagesTypes, SDKImageInputSpec>
volumes: VolumesTypes[]
},
>(manifest: SDKManifest & Manifest): SDKManifest & Manifest {
return manifest
}

export function buildManifest<
Id extends string,
Version extends string,
Dependencies extends Record<string, unknown>,
Expand All @@ -27,7 +44,6 @@ export function setupManifest<
images: Record<ImagesTypes, SDKImageInputSpec>
volumes: VolumesTypes[]
},
Satisfies extends string[] = [],
>(
versions: VersionGraph<Version>,
manifest: SDKManifest & Manifest,
Expand Down
Loading

0 comments on commit 1c0827b

Please sign in to comment.