@dxos/cli 0.8.4-main.ead640a → 0.8.4-main.f466a3d56e
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/LICENSE +102 -5
- package/bin/dx.js +29 -12
- package/package.json +15 -130
- package/README.md +0 -145
- package/bin/agent_entrypoint +0 -22
- package/bin/dev.cmd +0 -3
- package/bin/dev.js +0 -26
- package/bin/handle_invitation +0 -18
- package/bin/run.cmd +0 -3
- package/dist/src/base.d.ts +0 -18
- package/dist/src/base.d.ts.map +0 -1
- package/dist/src/base.js +0 -76
- package/dist/src/base.js.map +0 -1
- package/dist/src/commands/agent/agent.node.test.d.ts +0 -2
- package/dist/src/commands/agent/agent.node.test.d.ts.map +0 -1
- package/dist/src/commands/agent/agent.node.test.js +0 -178
- package/dist/src/commands/agent/agent.node.test.js.map +0 -1
- package/dist/src/commands/agent/invitations.d.ts +0 -20
- package/dist/src/commands/agent/invitations.d.ts.map +0 -1
- package/dist/src/commands/agent/invitations.js +0 -88
- package/dist/src/commands/agent/invitations.js.map +0 -1
- package/dist/src/commands/agent/list.d.ts +0 -22
- package/dist/src/commands/agent/list.d.ts.map +0 -1
- package/dist/src/commands/agent/list.js +0 -45
- package/dist/src/commands/agent/list.js.map +0 -1
- package/dist/src/commands/agent/restart.d.ts +0 -21
- package/dist/src/commands/agent/restart.d.ts.map +0 -1
- package/dist/src/commands/agent/restart.js +0 -26
- package/dist/src/commands/agent/restart.js.map +0 -1
- package/dist/src/commands/agent/start.d.ts +0 -33
- package/dist/src/commands/agent/start.d.ts.map +0 -1
- package/dist/src/commands/agent/start.js +0 -204
- package/dist/src/commands/agent/start.js.map +0 -1
- package/dist/src/commands/agent/status.d.ts +0 -19
- package/dist/src/commands/agent/status.d.ts.map +0 -1
- package/dist/src/commands/agent/status.js +0 -30
- package/dist/src/commands/agent/status.js.map +0 -1
- package/dist/src/commands/agent/stop.d.ts +0 -22
- package/dist/src/commands/agent/stop.d.ts.map +0 -1
- package/dist/src/commands/agent/stop.js +0 -49
- package/dist/src/commands/agent/stop.js.map +0 -1
- package/dist/src/commands/config/index.d.ts +0 -7
- package/dist/src/commands/config/index.d.ts.map +0 -1
- package/dist/src/commands/config/index.js +0 -16
- package/dist/src/commands/config/index.js.map +0 -1
- package/dist/src/commands/config/index.node.test.d.ts +0 -2
- package/dist/src/commands/config/index.node.test.d.ts.map +0 -1
- package/dist/src/commands/config/index.node.test.js +0 -25
- package/dist/src/commands/config/index.node.test.js.map +0 -1
- package/dist/src/commands/debug/diagnostics.d.ts +0 -25
- package/dist/src/commands/debug/diagnostics.d.ts.map +0 -1
- package/dist/src/commands/debug/diagnostics.js +0 -53
- package/dist/src/commands/debug/diagnostics.js.map +0 -1
- package/dist/src/commands/debug/error.d.ts +0 -6
- package/dist/src/commands/debug/error.d.ts.map +0 -1
- package/dist/src/commands/debug/error.js +0 -23
- package/dist/src/commands/debug/error.js.map +0 -1
- package/dist/src/commands/debug/generate.d.ts +0 -27
- package/dist/src/commands/debug/generate.d.ts.map +0 -1
- package/dist/src/commands/debug/generate.js +0 -71
- package/dist/src/commands/debug/generate.js.map +0 -1
- package/dist/src/commands/debug/metrics.d.ts +0 -10
- package/dist/src/commands/debug/metrics.d.ts.map +0 -1
- package/dist/src/commands/debug/metrics.js +0 -39
- package/dist/src/commands/debug/metrics.js.map +0 -1
- package/dist/src/commands/debug/status.d.ts +0 -20
- package/dist/src/commands/debug/status.d.ts.map +0 -1
- package/dist/src/commands/debug/status.js +0 -30
- package/dist/src/commands/debug/status.js.map +0 -1
- package/dist/src/commands/device/info.d.ts +0 -7
- package/dist/src/commands/device/info.d.ts.map +0 -1
- package/dist/src/commands/device/info.js +0 -30
- package/dist/src/commands/device/info.js.map +0 -1
- package/dist/src/commands/device/list.d.ts +0 -20
- package/dist/src/commands/device/list.d.ts.map +0 -1
- package/dist/src/commands/device/list.js +0 -23
- package/dist/src/commands/device/list.js.map +0 -1
- package/dist/src/commands/device/update.d.ts +0 -19
- package/dist/src/commands/device/update.d.ts.map +0 -1
- package/dist/src/commands/device/update.js +0 -32
- package/dist/src/commands/device/update.js.map +0 -1
- package/dist/src/commands/edge/status.d.ts +0 -19
- package/dist/src/commands/edge/status.d.ts.map +0 -1
- package/dist/src/commands/edge/status.js +0 -24
- package/dist/src/commands/edge/status.js.map +0 -1
- package/dist/src/commands/function/list.d.ts +0 -7
- package/dist/src/commands/function/list.d.ts.map +0 -1
- package/dist/src/commands/function/list.js +0 -19
- package/dist/src/commands/function/list.js.map +0 -1
- package/dist/src/commands/function/logs.d.ts +0 -14
- package/dist/src/commands/function/logs.d.ts.map +0 -1
- package/dist/src/commands/function/logs.js +0 -38
- package/dist/src/commands/function/logs.js.map +0 -1
- package/dist/src/commands/function/trigger/list.d.ts +0 -26
- package/dist/src/commands/function/trigger/list.d.ts.map +0 -1
- package/dist/src/commands/function/trigger/list.js +0 -51
- package/dist/src/commands/function/trigger/list.js.map +0 -1
- package/dist/src/commands/function/watch.d.ts +0 -29
- package/dist/src/commands/function/watch.d.ts.map +0 -1
- package/dist/src/commands/function/watch.js +0 -128
- package/dist/src/commands/function/watch.js.map +0 -1
- package/dist/src/commands/halo/create.d.ts +0 -24
- package/dist/src/commands/halo/create.d.ts.map +0 -1
- package/dist/src/commands/halo/create.js +0 -36
- package/dist/src/commands/halo/create.js.map +0 -1
- package/dist/src/commands/halo/credential/add.d.ts +0 -9
- package/dist/src/commands/halo/credential/add.d.ts.map +0 -1
- package/dist/src/commands/halo/credential/add.js +0 -42
- package/dist/src/commands/halo/credential/add.js.map +0 -1
- package/dist/src/commands/halo/credential/list.d.ts +0 -23
- package/dist/src/commands/halo/credential/list.d.ts.map +0 -1
- package/dist/src/commands/halo/credential/list.js +0 -62
- package/dist/src/commands/halo/credential/list.js.map +0 -1
- package/dist/src/commands/halo/identity.d.ts +0 -8
- package/dist/src/commands/halo/identity.d.ts.map +0 -1
- package/dist/src/commands/halo/identity.js +0 -31
- package/dist/src/commands/halo/identity.js.map +0 -1
- package/dist/src/commands/halo/join.d.ts +0 -23
- package/dist/src/commands/halo/join.d.ts.map +0 -1
- package/dist/src/commands/halo/join.js +0 -94
- package/dist/src/commands/halo/join.js.map +0 -1
- package/dist/src/commands/halo/keys.d.ts +0 -7
- package/dist/src/commands/halo/keys.d.ts.map +0 -1
- package/dist/src/commands/halo/keys.js +0 -14
- package/dist/src/commands/halo/keys.js.map +0 -1
- package/dist/src/commands/halo/recovery/generate.d.ts +0 -7
- package/dist/src/commands/halo/recovery/generate.d.ts.map +0 -1
- package/dist/src/commands/halo/recovery/generate.js +0 -16
- package/dist/src/commands/halo/recovery/generate.js.map +0 -1
- package/dist/src/commands/halo/recovery/use.d.ts +0 -20
- package/dist/src/commands/halo/recovery/use.d.ts.map +0 -1
- package/dist/src/commands/halo/recovery/use.js +0 -21
- package/dist/src/commands/halo/recovery/use.js.map +0 -1
- package/dist/src/commands/halo/share.d.ts +0 -24
- package/dist/src/commands/halo/share.d.ts.map +0 -1
- package/dist/src/commands/halo/share.js +0 -73
- package/dist/src/commands/halo/share.js.map +0 -1
- package/dist/src/commands/halo/update.d.ts +0 -19
- package/dist/src/commands/halo/update.d.ts.map +0 -1
- package/dist/src/commands/halo/update.js +0 -34
- package/dist/src/commands/halo/update.js.map +0 -1
- package/dist/src/commands/info.d.ts +0 -19
- package/dist/src/commands/info.d.ts.map +0 -1
- package/dist/src/commands/info.js +0 -23
- package/dist/src/commands/info.js.map +0 -1
- package/dist/src/commands/profile/import.d.ts +0 -20
- package/dist/src/commands/profile/import.d.ts.map +0 -1
- package/dist/src/commands/profile/import.js +0 -66
- package/dist/src/commands/profile/import.js.map +0 -1
- package/dist/src/commands/profile/inspect.d.ts +0 -20
- package/dist/src/commands/profile/inspect.d.ts.map +0 -1
- package/dist/src/commands/profile/inspect.js +0 -37
- package/dist/src/commands/profile/inspect.js.map +0 -1
- package/dist/src/commands/reset/index.d.ts +0 -20
- package/dist/src/commands/reset/index.d.ts.map +0 -1
- package/dist/src/commands/reset/index.js +0 -74
- package/dist/src/commands/reset/index.js.map +0 -1
- package/dist/src/commands/shell/index.d.ts +0 -6
- package/dist/src/commands/shell/index.d.ts.map +0 -1
- package/dist/src/commands/shell/index.js +0 -25
- package/dist/src/commands/shell/index.js.map +0 -1
- package/dist/src/commands/space/close.d.ts +0 -9
- package/dist/src/commands/space/close.d.ts.map +0 -1
- package/dist/src/commands/space/close.js +0 -17
- package/dist/src/commands/space/close.js.map +0 -1
- package/dist/src/commands/space/create.d.ts +0 -10
- package/dist/src/commands/space/create.d.ts.map +0 -1
- package/dist/src/commands/space/create.js +0 -25
- package/dist/src/commands/space/create.js.map +0 -1
- package/dist/src/commands/space/epoch.d.ts +0 -10
- package/dist/src/commands/space/epoch.d.ts.map +0 -1
- package/dist/src/commands/space/epoch.js +0 -18
- package/dist/src/commands/space/epoch.js.map +0 -1
- package/dist/src/commands/space/info.d.ts +0 -10
- package/dist/src/commands/space/info.d.ts.map +0 -1
- package/dist/src/commands/space/info.js +0 -26
- package/dist/src/commands/space/info.js.map +0 -1
- package/dist/src/commands/space/join.d.ts +0 -21
- package/dist/src/commands/space/join.d.ts.map +0 -1
- package/dist/src/commands/space/join.js +0 -71
- package/dist/src/commands/space/join.js.map +0 -1
- package/dist/src/commands/space/list.d.ts +0 -24
- package/dist/src/commands/space/list.d.ts.map +0 -1
- package/dist/src/commands/space/list.js +0 -90
- package/dist/src/commands/space/list.js.map +0 -1
- package/dist/src/commands/space/members.d.ts +0 -23
- package/dist/src/commands/space/members.d.ts.map +0 -1
- package/dist/src/commands/space/members.js +0 -27
- package/dist/src/commands/space/members.js.map +0 -1
- package/dist/src/commands/space/open.d.ts +0 -9
- package/dist/src/commands/space/open.d.ts.map +0 -1
- package/dist/src/commands/space/open.js +0 -17
- package/dist/src/commands/space/open.js.map +0 -1
- package/dist/src/commands/space/query.d.ts +0 -25
- package/dist/src/commands/space/query.d.ts.map +0 -1
- package/dist/src/commands/space/query.js +0 -44
- package/dist/src/commands/space/query.js.map +0 -1
- package/dist/src/commands/space/schema/list.d.ts +0 -21
- package/dist/src/commands/space/schema/list.d.ts.map +0 -1
- package/dist/src/commands/space/schema/list.js +0 -57
- package/dist/src/commands/space/schema/list.js.map +0 -1
- package/dist/src/commands/space/share.d.ts +0 -27
- package/dist/src/commands/space/share.d.ts.map +0 -1
- package/dist/src/commands/space/share.js +0 -80
- package/dist/src/commands/space/share.js.map +0 -1
- package/dist/src/commands/tunnel/index.d.ts +0 -22
- package/dist/src/commands/tunnel/index.d.ts.map +0 -1
- package/dist/src/commands/tunnel/index.js +0 -43
- package/dist/src/commands/tunnel/index.js.map +0 -1
- package/dist/src/commands/tunnel/list.d.ts +0 -21
- package/dist/src/commands/tunnel/list.d.ts.map +0 -1
- package/dist/src/commands/tunnel/list.js +0 -29
- package/dist/src/commands/tunnel/list.js.map +0 -1
- package/dist/src/components/App.d.ts +0 -10
- package/dist/src/components/App.d.ts.map +0 -1
- package/dist/src/components/App.js +0 -31
- package/dist/src/components/App.js.map +0 -1
- package/dist/src/components/SpaceTable.d.ts +0 -10
- package/dist/src/components/SpaceTable.d.ts.map +0 -1
- package/dist/src/components/SpaceTable.js +0 -33
- package/dist/src/components/SpaceTable.js.map +0 -1
- package/dist/src/components/SystemTable.d.ts +0 -8
- package/dist/src/components/SystemTable.d.ts.map +0 -1
- package/dist/src/components/SystemTable.js +0 -51
- package/dist/src/components/SystemTable.js.map +0 -1
- package/dist/src/components/index.d.ts +0 -4
- package/dist/src/components/index.d.ts.map +0 -1
- package/dist/src/components/index.js +0 -7
- package/dist/src/components/index.js.map +0 -1
- package/dist/src/help.d.ts +0 -6
- package/dist/src/help.d.ts.map +0 -1
- package/dist/src/help.js +0 -37
- package/dist/src/help.js.map +0 -1
- package/dist/src/hooks/command-not-found.d.ts +0 -4
- package/dist/src/hooks/command-not-found.d.ts.map +0 -1
- package/dist/src/hooks/command-not-found.js +0 -16
- package/dist/src/hooks/command-not-found.js.map +0 -1
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -6
- package/dist/src/index.js.map +0 -1
- package/dist/src/util/function/index.d.ts +0 -2
- package/dist/src/util/function/index.d.ts.map +0 -1
- package/dist/src/util/function/index.js +0 -5
- package/dist/src/util/function/index.js.map +0 -1
- package/dist/src/util/function/lookup.d.ts +0 -19
- package/dist/src/util/function/lookup.d.ts.map +0 -1
- package/dist/src/util/function/lookup.js +0 -13
- package/dist/src/util/function/lookup.js.map +0 -1
- package/dist/src/util/index.d.ts +0 -6
- package/dist/src/util/index.d.ts.map +0 -1
- package/dist/src/util/index.js +0 -9
- package/dist/src/util/index.js.map +0 -1
- package/dist/src/util/provider/digital-ocean.d.ts +0 -14
- package/dist/src/util/provider/digital-ocean.d.ts.map +0 -1
- package/dist/src/util/provider/digital-ocean.js +0 -123
- package/dist/src/util/provider/digital-ocean.js.map +0 -1
- package/dist/src/util/provider/index.d.ts +0 -3
- package/dist/src/util/provider/index.d.ts.map +0 -1
- package/dist/src/util/provider/index.js +0 -6
- package/dist/src/util/provider/index.js.map +0 -1
- package/dist/src/util/provider/provider.d.ts +0 -27
- package/dist/src/util/provider/provider.d.ts.map +0 -1
- package/dist/src/util/provider/provider.js +0 -24
- package/dist/src/util/provider/provider.js.map +0 -1
- package/dist/src/util/publish/build.d.ts +0 -11
- package/dist/src/util/publish/build.d.ts.map +0 -1
- package/dist/src/util/publish/build.js +0 -24
- package/dist/src/util/publish/build.js.map +0 -1
- package/dist/src/util/publish/common.d.ts +0 -11
- package/dist/src/util/publish/common.d.ts.map +0 -1
- package/dist/src/util/publish/common.js +0 -23
- package/dist/src/util/publish/common.js.map +0 -1
- package/dist/src/util/publish/config.d.ts +0 -3
- package/dist/src/util/publish/config.d.ts.map +0 -1
- package/dist/src/util/publish/config.js +0 -27
- package/dist/src/util/publish/config.js.map +0 -1
- package/dist/src/util/publish/index.d.ts +0 -7
- package/dist/src/util/publish/index.d.ts.map +0 -1
- package/dist/src/util/publish/index.js +0 -10
- package/dist/src/util/publish/index.js.map +0 -1
- package/dist/src/util/publish/ipfs-upload.d.ts +0 -8
- package/dist/src/util/publish/ipfs-upload.d.ts.map +0 -1
- package/dist/src/util/publish/ipfs-upload.js +0 -50
- package/dist/src/util/publish/ipfs-upload.js.map +0 -1
- package/dist/src/util/publish/publish.d.ts +0 -14
- package/dist/src/util/publish/publish.d.ts.map +0 -1
- package/dist/src/util/publish/publish.js +0 -51
- package/dist/src/util/publish/publish.js.map +0 -1
- package/dist/src/util/publish/publisher-rpc-peer.d.ts +0 -15
- package/dist/src/util/publish/publisher-rpc-peer.d.ts.map +0 -1
- package/dist/src/util/publish/publisher-rpc-peer.js +0 -82
- package/dist/src/util/publish/publisher-rpc-peer.js.map +0 -1
- package/dist/src/util/supervisor/index.d.ts +0 -2
- package/dist/src/util/supervisor/index.d.ts.map +0 -1
- package/dist/src/util/supervisor/index.js +0 -5
- package/dist/src/util/supervisor/index.js.map +0 -1
- package/dist/src/util/supervisor/supervisor-rpc-peer.d.ts +0 -15
- package/dist/src/util/supervisor/supervisor-rpc-peer.d.ts.map +0 -1
- package/dist/src/util/supervisor/supervisor-rpc-peer.js +0 -83
- package/dist/src/util/supervisor/supervisor-rpc-peer.js.map +0 -1
- package/dist/src/util/tunnel/common.d.ts +0 -9
- package/dist/src/util/tunnel/common.d.ts.map +0 -1
- package/dist/src/util/tunnel/common.js +0 -26
- package/dist/src/util/tunnel/common.js.map +0 -1
- package/dist/src/util/tunnel/index.d.ts +0 -3
- package/dist/src/util/tunnel/index.d.ts.map +0 -1
- package/dist/src/util/tunnel/index.js +0 -6
- package/dist/src/util/tunnel/index.js.map +0 -1
- package/dist/src/util/tunnel/tunnel-rpc-peer.d.ts +0 -15
- package/dist/src/util/tunnel/tunnel-rpc-peer.d.ts.map +0 -1
- package/dist/src/util/tunnel/tunnel-rpc-peer.js +0 -83
- package/dist/src/util/tunnel/tunnel-rpc-peer.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/oclif.manifest.json +0 -5673
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from '../../base';
|
|
2
|
-
export default class Watch extends BaseCommand<typeof Watch> {
|
|
3
|
-
static enableJsonFlag: boolean;
|
|
4
|
-
static description: string;
|
|
5
|
-
static flags: {
|
|
6
|
-
functionId: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
-
spaceKey: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
-
profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
-
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
-
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
-
target: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
agent: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
-
'json-log': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
-
'json-logfile': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
-
};
|
|
19
|
-
static args: {
|
|
20
|
-
file: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
21
|
-
};
|
|
22
|
-
run(): Promise<any>;
|
|
23
|
-
private _loadFunctionObject;
|
|
24
|
-
private _isRuntimeReady;
|
|
25
|
-
private _uploadSource;
|
|
26
|
-
private _logWithTime;
|
|
27
|
-
private _printUploadInstruction;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../../src/commands/function/watch.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKzC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;IAC1D,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAwC;IAEnE,OAAgB,KAAK;;;;;;;;;;;;;MAInB;IAEF,OAAgB,IAAI;;MAElB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;YAiDX,mBAAmB;YAkBnB,eAAe;YA6Bf,aAAa;IAe3B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,uBAAuB;CAIhC"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import fs from 'fs';
|
|
5
|
-
import { Args, Flags } from '@oclif/core';
|
|
6
|
-
import { Trigger, debounce } from '@dxos/async';
|
|
7
|
-
import { FunctionType, ScriptType } from '@dxos/functions';
|
|
8
|
-
import { Bundler } from '@dxos/functions/bundler';
|
|
9
|
-
import { DataType } from '@dxos/schema';
|
|
10
|
-
import { BaseCommand } from '../../base';
|
|
11
|
-
import { findFunctionByDeploymentId } from '../../util/function/lookup';
|
|
12
|
-
const LOCAL_FUNCTIONS_RUNTIME_URL = 'http://127.0.0.1:3123';
|
|
13
|
-
export default class Watch extends BaseCommand {
|
|
14
|
-
static enableJsonFlag = true;
|
|
15
|
-
static description = 'Hot reload script on file changes.';
|
|
16
|
-
static flags = {
|
|
17
|
-
...BaseCommand.flags,
|
|
18
|
-
functionId: Flags.string({ description: 'Existing UserFunction ID to update.', required: true }),
|
|
19
|
-
spaceKey: Flags.string({ description: 'Space key to create/update Script source in.' }),
|
|
20
|
-
};
|
|
21
|
-
static args = {
|
|
22
|
-
file: Args.string({ required: true }),
|
|
23
|
-
};
|
|
24
|
-
async run() {
|
|
25
|
-
return this.execWithSpace(async ({ client, space }) => {
|
|
26
|
-
client.addTypes([DataType.Text, ScriptType, FunctionType]);
|
|
27
|
-
const { scriptContent } = await this._loadFunctionObject(space);
|
|
28
|
-
this._logWithTime(`Watching for changes in ${this.args.file}`);
|
|
29
|
-
const updateSource = debounce(async () => {
|
|
30
|
-
const readinessCheckResult = await this._isRuntimeReady();
|
|
31
|
-
if (!readinessCheckResult.ready) {
|
|
32
|
-
this._logWithTime(`Functions runtime readiness check failed: ${readinessCheckResult.reason}`);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
const source = fs.readFileSync(this.args.file, 'utf-8');
|
|
36
|
-
const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });
|
|
37
|
-
const bundleResult = await bundler.bundle({ source });
|
|
38
|
-
if ('error' in bundleResult) {
|
|
39
|
-
this._logWithTime('Source bundling failed, waiting for new changes...');
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
const updateResult = await this._uploadSource(bundleResult.bundle);
|
|
43
|
-
if (updateResult.success) {
|
|
44
|
-
if (scriptContent) {
|
|
45
|
-
scriptContent.content = source;
|
|
46
|
-
}
|
|
47
|
-
this._logWithTime('Worker source updated');
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this._logWithTime(`Failed to update worker source, reason: ${updateResult.reason}`);
|
|
51
|
-
}
|
|
52
|
-
}, 2000);
|
|
53
|
-
const trigger = new Trigger();
|
|
54
|
-
fs.watch(this.args.file, (event) => {
|
|
55
|
-
if (event === 'rename') {
|
|
56
|
-
trigger.wake();
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
void updateSource();
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
await trigger.wait();
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
async _loadFunctionObject(space) {
|
|
66
|
-
const matchingFunction = await findFunctionByDeploymentId(space, this.flags.functionId);
|
|
67
|
-
if (!matchingFunction) {
|
|
68
|
-
this.log(`Function with id ${this.flags.functionId} not found in space ${space.id}.`);
|
|
69
|
-
this._printUploadInstruction();
|
|
70
|
-
this.exit();
|
|
71
|
-
}
|
|
72
|
-
if (!matchingFunction.source) {
|
|
73
|
-
return { functionObject: matchingFunction };
|
|
74
|
-
}
|
|
75
|
-
const script = await matchingFunction.source.load();
|
|
76
|
-
const content = await script.source.load();
|
|
77
|
-
return { functionObject: matchingFunction, scriptContent: content };
|
|
78
|
-
}
|
|
79
|
-
async _isRuntimeReady() {
|
|
80
|
-
try {
|
|
81
|
-
const result = await fetch(`${LOCAL_FUNCTIONS_RUNTIME_URL}/sanity`);
|
|
82
|
-
if (result.status !== 200) {
|
|
83
|
-
this.log(`Function runtime sanity check failed: ${result.statusText}`);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
catch (err) {
|
|
87
|
-
return { ready: false, reason: `Functions runtime not running, expected on ${LOCAL_FUNCTIONS_RUNTIME_URL}` };
|
|
88
|
-
}
|
|
89
|
-
try {
|
|
90
|
-
const functionId = this.flags.functionId;
|
|
91
|
-
const result = await fetch(`${LOCAL_FUNCTIONS_RUNTIME_URL}/workers/${functionId}/versions`);
|
|
92
|
-
if (result.status !== 200) {
|
|
93
|
-
return { ready: false, reason: `Deployment status check failed: ${result.statusText}` };
|
|
94
|
-
}
|
|
95
|
-
const bodyJson = await result.json();
|
|
96
|
-
if (!bodyJson.versions?.length) {
|
|
97
|
-
return { ready: false, reason: `Function with id ${functionId} is not deployed.` };
|
|
98
|
-
}
|
|
99
|
-
return { ready: true };
|
|
100
|
-
}
|
|
101
|
-
catch (err) {
|
|
102
|
-
return { ready: false, reason: `Deployment status check failed, reason: ${err.message ?? 'unknown'}` };
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
async _uploadSource(bundledScript) {
|
|
106
|
-
try {
|
|
107
|
-
const result = await fetch(`${LOCAL_FUNCTIONS_RUNTIME_URL}/workers/${this.flags.functionId}/source`, {
|
|
108
|
-
method: 'PUT',
|
|
109
|
-
body: Buffer.from(bundledScript),
|
|
110
|
-
});
|
|
111
|
-
if (result.status !== 200) {
|
|
112
|
-
return { success: false, reason: result.statusText };
|
|
113
|
-
}
|
|
114
|
-
return { success: true };
|
|
115
|
-
}
|
|
116
|
-
catch (err) {
|
|
117
|
-
return { success: false, reason: err.message ?? 'unknown' };
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
_logWithTime(message) {
|
|
121
|
-
this.log(`[${new Date().toTimeString().split(' ')[0]}] ${message}`);
|
|
122
|
-
}
|
|
123
|
-
_printUploadInstruction() {
|
|
124
|
-
const message = ['Try running:', '', 'dx function upload scriptFilePath'].join('\n');
|
|
125
|
-
this.log(message);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/commands/function/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from '../../base';
|
|
2
|
-
export default class Create extends BaseCommand<typeof Create> {
|
|
3
|
-
static enableJsonFlag: boolean;
|
|
4
|
-
static description: string;
|
|
5
|
-
static args: {
|
|
6
|
-
displayName: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
-
};
|
|
8
|
-
static flags: {
|
|
9
|
-
deviceLabel: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
managedAgent: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
-
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
-
profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
-
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
-
target: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
-
agent: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
-
'json-log': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
-
'json-logfile': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
-
};
|
|
22
|
-
run(): Promise<any>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/commands/halo/create.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAkB;IAC7C,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;MAKnB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAwB1B"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2022 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { Args, Flags } from '@oclif/core';
|
|
5
|
-
import { DeviceType } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
6
|
-
import { BaseCommand } from '../../base';
|
|
7
|
-
export default class Create extends BaseCommand {
|
|
8
|
-
static enableJsonFlag = true;
|
|
9
|
-
static description = 'Create HALO.';
|
|
10
|
-
static args = {
|
|
11
|
-
displayName: Args.string({ description: 'Display name', default: 'Agent' }),
|
|
12
|
-
};
|
|
13
|
-
static flags = {
|
|
14
|
-
...BaseCommand.flags,
|
|
15
|
-
deviceLabel: Flags.string({ description: 'Device label' }),
|
|
16
|
-
// TODO(burdon): Rename flags.
|
|
17
|
-
managedAgent: Flags.boolean({ description: 'Managed agent', default: false }),
|
|
18
|
-
};
|
|
19
|
-
async run() {
|
|
20
|
-
const { displayName } = this.args;
|
|
21
|
-
const { managedAgent, deviceLabel } = this.flags;
|
|
22
|
-
return await this.execWithClient(async ({ client }) => {
|
|
23
|
-
let identity = client.halo.identity.get();
|
|
24
|
-
if (identity) {
|
|
25
|
-
this.error('Identity already initialized.');
|
|
26
|
-
}
|
|
27
|
-
identity = await client.halo.createIdentity({ displayName }, {
|
|
28
|
-
label: deviceLabel,
|
|
29
|
-
// TODO(burdon): Default should not be agent?
|
|
30
|
-
type: managedAgent ? DeviceType.AGENT_MANAGED : DeviceType.AGENT,
|
|
31
|
-
});
|
|
32
|
-
return { identityKey: identity.identityKey.toHex(), displayName };
|
|
33
|
-
}, { halo: false });
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/halo/create.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAA0B;IAC5D,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IACtC,MAAM,CAAU,WAAW,GAAG,cAAc,CAAC;IAC7C,MAAM,CAAU,IAAI,GAAG;QACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;KAC5E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,KAAK;QACpB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;QAC1D,8BAA8B;QAC9B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAC9E,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,cAAc,CAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACnB,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC9C,CAAC;YAED,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,CACzC,EAAE,WAAW,EAAE,EACf;gBACE,KAAK,EAAE,WAAW;gBAClB,6CAA6C;gBAC7C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;aACjE,CACF,CAAC;YACF,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC;QACpE,CAAC,EACD,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;IACJ,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from '../../../base';
|
|
2
|
-
export default class Add extends BaseCommand<typeof Add> {
|
|
3
|
-
static description: string;
|
|
4
|
-
static args: {
|
|
5
|
-
credential: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
6
|
-
};
|
|
7
|
-
run(): Promise<any>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=add.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../../src/commands/halo/credential/add.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,OAAgB,WAAW,SAAkC;IAC7D,OAAgB,IAAI;;MAElB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CA6B1B"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { Args } from '@oclif/core';
|
|
5
|
-
import { invariant } from '@dxos/invariant';
|
|
6
|
-
import { schema } from '@dxos/protocols/proto';
|
|
7
|
-
import { BaseCommand } from '../../../base';
|
|
8
|
-
export default class Add extends BaseCommand {
|
|
9
|
-
static description = 'Import credential into HALO.';
|
|
10
|
-
static args = {
|
|
11
|
-
credential: Args.string({ description: 'credential', required: false }),
|
|
12
|
-
};
|
|
13
|
-
async run() {
|
|
14
|
-
let { credential: credentialHex } = this.args;
|
|
15
|
-
if (!credentialHex) {
|
|
16
|
-
credentialHex = await this.readStdin();
|
|
17
|
-
}
|
|
18
|
-
invariant(credentialHex, 'Invalid credential.');
|
|
19
|
-
return await this.execWithClient(async ({ client }) => {
|
|
20
|
-
const identity = client.halo.identity;
|
|
21
|
-
if (!identity) {
|
|
22
|
-
throw new Error('Profile not initialized.');
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
try {
|
|
26
|
-
const codec = schema.getCodecForType('dxos.halo.credentials.Credential');
|
|
27
|
-
const credentialBytes = Buffer.from(credentialHex, 'hex');
|
|
28
|
-
const error = codec.protoType.verify(credentialBytes);
|
|
29
|
-
if (error) {
|
|
30
|
-
throw new Error(error);
|
|
31
|
-
}
|
|
32
|
-
const credential = codec.decode(credentialBytes);
|
|
33
|
-
await client.halo.writeCredentials([credential]);
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
throw new Error('Invalid credential.');
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=add.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../../src/commands/halo/credential/add.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAuB;IACtD,MAAM,CAAU,WAAW,GAAG,8BAA8B,CAAC;IAC7D,MAAM,CAAU,IAAI,GAAG;QACrB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KACxE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,CAAC;QAED,SAAS,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;QAChD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;oBACzE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAc,EAAE,KAAK,CAAC,CAAC;oBAE3D,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBACtD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;oBAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBACjD,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from '../../../base';
|
|
2
|
-
export default class List extends BaseCommand<typeof List> {
|
|
3
|
-
static enableJsonFlag: boolean;
|
|
4
|
-
static description: string;
|
|
5
|
-
static flags: {
|
|
6
|
-
type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
-
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
-
delay: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
space: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
extended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
-
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
-
profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
-
target: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
-
agent: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
-
'json-log': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
-
'json-logfile': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
-
};
|
|
21
|
-
run(): Promise<any>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/halo/credential/list.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAA4B;IACvD,OAAgB,KAAK;;;;;;;;;;;;;;;MAiBnB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAkC1B"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { Flags } from '@oclif/core';
|
|
5
|
-
import { Trigger, sleep } from '@dxos/async';
|
|
6
|
-
import { TABLE_FLAGS, mapCredentials, printCredentials } from '@dxos/cli-base';
|
|
7
|
-
import { BaseCommand } from '../../../base';
|
|
8
|
-
export default class List extends BaseCommand {
|
|
9
|
-
static enableJsonFlag = true;
|
|
10
|
-
static description = 'List HALO credentials.';
|
|
11
|
-
static flags = {
|
|
12
|
-
...BaseCommand.flags,
|
|
13
|
-
...TABLE_FLAGS,
|
|
14
|
-
type: Flags.string({
|
|
15
|
-
description: 'Type',
|
|
16
|
-
}),
|
|
17
|
-
timeout: Flags.integer({
|
|
18
|
-
description: 'Time in milliseconds to wait for at least one credential before listing.',
|
|
19
|
-
default: 500,
|
|
20
|
-
}),
|
|
21
|
-
delay: Flags.integer({
|
|
22
|
-
description: 'Delay in milliseconds before listing.',
|
|
23
|
-
default: 250,
|
|
24
|
-
}),
|
|
25
|
-
space: Flags.string({
|
|
26
|
-
description: 'Space ID of the space to show credentials from. By default, shows halo credentials.',
|
|
27
|
-
}),
|
|
28
|
-
};
|
|
29
|
-
async run() {
|
|
30
|
-
return await this.execWithClient(async ({ client }) => {
|
|
31
|
-
let credentials;
|
|
32
|
-
if (!this.flags.space) {
|
|
33
|
-
const identity = client.halo.identity;
|
|
34
|
-
if (!identity) {
|
|
35
|
-
this.catch('Profile not initialized.');
|
|
36
|
-
}
|
|
37
|
-
// Wait for at least one credential before returning a result.
|
|
38
|
-
const trigger = new Trigger();
|
|
39
|
-
client.halo.credentials.subscribe((credentials) => {
|
|
40
|
-
if (credentials.length > 0) {
|
|
41
|
-
trigger.wake();
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
await trigger.wait({ timeout: this.flags.timeout });
|
|
45
|
-
// Even if we wait for a single credential, we're still likely to miss credentials unless we wait some more.
|
|
46
|
-
await sleep(this.flags.delay);
|
|
47
|
-
credentials = client.halo.queryCredentials({ type: this.flags.type });
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
const space = await this.getSpaceById(client, this.flags.space, { wait: false });
|
|
51
|
-
credentials = await space.internal.getCredentials();
|
|
52
|
-
}
|
|
53
|
-
if (this.flags.json) {
|
|
54
|
-
return mapCredentials(credentials);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
printCredentials(credentials, this.flags);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/halo/credential/list.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG/E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAwB;IACxD,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IACtC,MAAM,CAAU,WAAW,GAAG,wBAAwB,CAAC;IACvD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,KAAK;QACpB,GAAG,WAAW;QACd,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM;SACpB,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE,GAAG;SACb,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,GAAG;SACb,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,qFAAqF;SACnG,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,IAAI,WAAyB,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACzC,CAAC;gBAED,8DAA8D;gBAC9D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;oBAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEpD,4GAA4G;gBAC5G,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9B,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjF,WAAW,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACtD,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from '../../base';
|
|
2
|
-
export default class Identity extends BaseCommand<typeof Identity> {
|
|
3
|
-
static enableJsonFlag: boolean;
|
|
4
|
-
static description: string;
|
|
5
|
-
static aliases: string[];
|
|
6
|
-
run(): Promise<any>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../src/commands/halo/identity.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW,CAAC,OAAO,QAAQ,CAAC;IAChE,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAyB;IACpD,OAAgB,OAAO,WAAe;IAEhC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAmB1B"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2022 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import chalk from 'chalk';
|
|
5
|
-
import { BaseCommand } from '../../base';
|
|
6
|
-
export default class Identity extends BaseCommand {
|
|
7
|
-
static enableJsonFlag = true;
|
|
8
|
-
static description = 'Show HALO identity.';
|
|
9
|
-
static aliases = ['halo:id'];
|
|
10
|
-
async run() {
|
|
11
|
-
return await this.execWithClient(async ({ client }) => {
|
|
12
|
-
const identity = client.halo.identity.get();
|
|
13
|
-
if (!identity) {
|
|
14
|
-
// TODO(burdon): Error if called twice with no halo.
|
|
15
|
-
this.log(chalk `{red Identity not initialized.}`);
|
|
16
|
-
return {};
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
await client.spaces.waitUntilReady();
|
|
20
|
-
const { identityKey, profile } = identity;
|
|
21
|
-
this.log('Identity key:', identityKey.toHex());
|
|
22
|
-
this.log('Display name:', profile?.displayName);
|
|
23
|
-
return {
|
|
24
|
-
identityKey: identityKey.toHex(),
|
|
25
|
-
profile,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/commands/halo/identity.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAA4B;IAChE,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IACtC,MAAM,CAAU,WAAW,GAAG,qBAAqB,CAAC;IACpD,MAAM,CAAU,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtC,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,oDAAoD;gBACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA,iCAAiC,CAAC,CAAC;gBACjD,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACrC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBAChD,OAAO;oBACL,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE;oBAChC,OAAO;iBACR,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from '../../base';
|
|
2
|
-
export default class Join extends BaseCommand<typeof Join> {
|
|
3
|
-
static enableJsonFlag: boolean;
|
|
4
|
-
static description: string;
|
|
5
|
-
static flags: {
|
|
6
|
-
invitation: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
-
secret: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
-
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
'device-label': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
'managed-agent': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
-
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
-
profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
-
target: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
-
agent: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
-
'json-log': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
-
'json-logfile': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
-
};
|
|
21
|
-
run(): Promise<any>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=join.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../src/commands/halo/join.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAoC;IAC/D,OAAgB,KAAK;;;;;;;;;;;;;;;MAgBnB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAuE1B"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { Flags, ux } from '@oclif/core';
|
|
5
|
-
import chalk from 'chalk';
|
|
6
|
-
import inquirer from 'inquirer';
|
|
7
|
-
import { Trigger, asyncTimeout } from '@dxos/async';
|
|
8
|
-
import { acceptInvitation } from '@dxos/cli-base';
|
|
9
|
-
import { InvitationEncoder } from '@dxos/client/invitations';
|
|
10
|
-
import { DeviceType } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
11
|
-
import { BaseCommand } from '../../base';
|
|
12
|
-
export default class Join extends BaseCommand {
|
|
13
|
-
static enableJsonFlag = true;
|
|
14
|
-
static description = 'Join HALO (device) invitation.';
|
|
15
|
-
static flags = {
|
|
16
|
-
...BaseCommand.flags,
|
|
17
|
-
invitation: Flags.string({
|
|
18
|
-
description: 'Invitation code',
|
|
19
|
-
}),
|
|
20
|
-
secret: Flags.string({
|
|
21
|
-
description: 'Invitation secret',
|
|
22
|
-
}),
|
|
23
|
-
timeout: Flags.integer({
|
|
24
|
-
description: 'Timeout in seconds',
|
|
25
|
-
default: 300,
|
|
26
|
-
}),
|
|
27
|
-
'device-label': Flags.string({
|
|
28
|
-
description: 'Set device label',
|
|
29
|
-
}),
|
|
30
|
-
'managed-agent': Flags.boolean({ description: 'set device type as managed agent', default: false }),
|
|
31
|
-
};
|
|
32
|
-
async run() {
|
|
33
|
-
let { invitation: encoded, secret, 'device-label': deviceLabel, 'managed-agent': managedAgent } = this.flags;
|
|
34
|
-
return await this.execWithClient(async ({ client }) => {
|
|
35
|
-
if (client.halo.identity.get()) {
|
|
36
|
-
this.catch(chalk `{red Profile already initialized.}`);
|
|
37
|
-
}
|
|
38
|
-
if (!encoded) {
|
|
39
|
-
const { invitation } = await inquirer.prompt({
|
|
40
|
-
type: 'input',
|
|
41
|
-
name: 'invitation',
|
|
42
|
-
message: 'Invitation',
|
|
43
|
-
});
|
|
44
|
-
encoded = invitation;
|
|
45
|
-
}
|
|
46
|
-
if (encoded.startsWith('http') || encoded.startsWith('socket')) {
|
|
47
|
-
const searchParams = new URLSearchParams(encoded.substring(encoded.lastIndexOf('?')));
|
|
48
|
-
encoded = searchParams.get('deviceInvitationCode') ?? encoded;
|
|
49
|
-
}
|
|
50
|
-
ux.stdout('');
|
|
51
|
-
ux.action.start('Waiting for peer to connect');
|
|
52
|
-
const done = new Trigger();
|
|
53
|
-
let invitation;
|
|
54
|
-
try {
|
|
55
|
-
invitation = await asyncTimeout(Promise.all([
|
|
56
|
-
acceptInvitation({
|
|
57
|
-
observable: client.halo.join(InvitationEncoder.decode(encoded), {
|
|
58
|
-
type: managedAgent ? DeviceType.AGENT_MANAGED : DeviceType.AGENT,
|
|
59
|
-
...(deviceLabel ? { label: deviceLabel } : {}),
|
|
60
|
-
}),
|
|
61
|
-
callbacks: {
|
|
62
|
-
onConnecting: async () => ux.action.stop(),
|
|
63
|
-
onReadyForAuth: async () => {
|
|
64
|
-
if (!secret) {
|
|
65
|
-
const { secret } = await inquirer.prompt({
|
|
66
|
-
type: 'input',
|
|
67
|
-
name: 'secret',
|
|
68
|
-
message: chalk `\n{red Secret}`,
|
|
69
|
-
});
|
|
70
|
-
return secret;
|
|
71
|
-
}
|
|
72
|
-
return secret;
|
|
73
|
-
},
|
|
74
|
-
onSuccess: async () => {
|
|
75
|
-
done.wake();
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
}),
|
|
79
|
-
done.wait(),
|
|
80
|
-
]).then((ret) => ret[0]), this.flags.timeout * 1000);
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
ux.stdout();
|
|
84
|
-
this.catch(chalk `{red Timeout waiting for device join to complete: ${err.message}}`);
|
|
85
|
-
}
|
|
86
|
-
ux.stdout();
|
|
87
|
-
ux.stdout(chalk `{green Joined successfully.}`);
|
|
88
|
-
return {
|
|
89
|
-
identityKey: invitation.identityKey,
|
|
90
|
-
};
|
|
91
|
-
}, { halo: false });
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=join.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../src/commands/halo/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../../src/commands/halo/keys.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAqB;IAE1C,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAK1B"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2022 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { BaseCommand } from '../../base';
|
|
5
|
-
export default class Keys extends BaseCommand {
|
|
6
|
-
static enableJsonFlag = true;
|
|
7
|
-
static description = 'Show HALO keys.';
|
|
8
|
-
async run() {
|
|
9
|
-
return await this.execWithClient(async ({ client }) => {
|
|
10
|
-
console.log(client.halo);
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/commands/halo/keys.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAwB;IACxD,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IACtC,MAAM,CAAU,WAAW,GAAG,iBAAiB,CAAC;IAEhD,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC"}
|