@dxos/cli 0.8.4-main.c1de068 → 0.8.4-main.fd6878d
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/dist/src/commands/agent/agent.node.test.js +6 -6
- package/dist/src/commands/agent/agent.node.test.js.map +1 -1
- package/dist/src/commands/agent/invitations.js +12 -13
- package/dist/src/commands/agent/invitations.js.map +1 -1
- package/dist/src/commands/agent/list.js +16 -17
- package/dist/src/commands/agent/list.js.map +1 -1
- package/dist/src/commands/agent/restart.js +11 -12
- package/dist/src/commands/agent/restart.js.map +1 -1
- package/dist/src/commands/agent/start.d.ts.map +1 -1
- package/dist/src/commands/agent/start.js +48 -53
- package/dist/src/commands/agent/start.js.map +1 -1
- package/dist/src/commands/agent/status.js +6 -7
- package/dist/src/commands/agent/status.js.map +1 -1
- package/dist/src/commands/agent/stop.js +12 -13
- package/dist/src/commands/agent/stop.js.map +1 -1
- package/dist/src/commands/config/index.js +5 -7
- package/dist/src/commands/config/index.js.map +1 -1
- package/dist/src/commands/config/index.node.test.js +1 -1
- package/dist/src/commands/config/index.node.test.js.map +1 -1
- package/dist/src/commands/debug/diagnostics.js +22 -23
- package/dist/src/commands/debug/diagnostics.js.map +1 -1
- package/dist/src/commands/debug/error.js +2 -3
- package/dist/src/commands/debug/error.js.map +1 -1
- package/dist/src/commands/debug/generate.js +29 -31
- package/dist/src/commands/debug/generate.js.map +1 -1
- package/dist/src/commands/debug/metrics.js +11 -13
- package/dist/src/commands/debug/metrics.js.map +1 -1
- package/dist/src/commands/debug/status.js +10 -11
- package/dist/src/commands/debug/status.js.map +1 -1
- package/dist/src/commands/device/info.js +5 -7
- package/dist/src/commands/device/info.js.map +1 -1
- package/dist/src/commands/device/list.js +8 -9
- package/dist/src/commands/device/list.js.map +1 -1
- package/dist/src/commands/device/update.js +8 -10
- package/dist/src/commands/device/update.js.map +1 -1
- package/dist/src/commands/edge/status.d.ts +19 -0
- package/dist/src/commands/edge/status.d.ts.map +1 -0
- package/dist/src/commands/edge/status.js +24 -0
- package/dist/src/commands/edge/status.js.map +1 -0
- package/dist/src/commands/function/list.js +3 -4
- package/dist/src/commands/function/list.js.map +1 -1
- package/dist/src/commands/function/logs.js +9 -11
- package/dist/src/commands/function/logs.js.map +1 -1
- package/dist/src/commands/function/trigger/list.d.ts.map +1 -1
- package/dist/src/commands/function/trigger/list.js +10 -11
- package/dist/src/commands/function/trigger/list.js.map +1 -1
- package/dist/src/commands/function/upload.d.ts.map +1 -1
- package/dist/src/commands/function/upload.js +22 -27
- package/dist/src/commands/function/upload.js.map +1 -1
- package/dist/src/commands/function/watch.d.ts.map +1 -1
- package/dist/src/commands/function/watch.js +16 -19
- package/dist/src/commands/function/watch.js.map +1 -1
- package/dist/src/commands/halo/create.js +12 -13
- package/dist/src/commands/halo/create.js.map +1 -1
- package/dist/src/commands/halo/credential/add.js +5 -6
- package/dist/src/commands/halo/credential/add.js.map +1 -1
- package/dist/src/commands/halo/credential/list.js +23 -24
- package/dist/src/commands/halo/credential/list.js.map +1 -1
- package/dist/src/commands/halo/identity.js +5 -6
- package/dist/src/commands/halo/identity.js.map +1 -1
- package/dist/src/commands/halo/join.js +22 -24
- package/dist/src/commands/halo/join.js.map +1 -1
- package/dist/src/commands/halo/keys.js +3 -4
- package/dist/src/commands/halo/keys.js.map +1 -1
- package/dist/src/commands/halo/recovery/generate.js +3 -4
- package/dist/src/commands/halo/recovery/generate.js.map +1 -1
- package/dist/src/commands/halo/recovery/use.js +7 -8
- package/dist/src/commands/halo/recovery/use.js.map +1 -1
- package/dist/src/commands/halo/share.d.ts.map +1 -1
- package/dist/src/commands/halo/share.js +27 -28
- package/dist/src/commands/halo/share.js.map +1 -1
- package/dist/src/commands/halo/update.js +9 -11
- package/dist/src/commands/halo/update.js.map +1 -1
- package/dist/src/commands/info.js +6 -7
- package/dist/src/commands/info.js.map +1 -1
- package/dist/src/commands/profile/import.d.ts.map +1 -1
- package/dist/src/commands/profile/import.js +15 -16
- package/dist/src/commands/profile/import.js.map +1 -1
- package/dist/src/commands/profile/inspect.d.ts.map +1 -1
- package/dist/src/commands/profile/inspect.js +14 -15
- package/dist/src/commands/profile/inspect.js.map +1 -1
- package/dist/src/commands/reset/index.d.ts.map +1 -1
- package/dist/src/commands/reset/index.js +15 -17
- package/dist/src/commands/reset/index.js.map +1 -1
- package/dist/src/commands/shell/index.js +2 -3
- package/dist/src/commands/shell/index.js.map +1 -1
- package/dist/src/commands/space/close.js +3 -4
- package/dist/src/commands/space/close.js.map +1 -1
- package/dist/src/commands/space/create.js +5 -6
- package/dist/src/commands/space/create.js.map +1 -1
- package/dist/src/commands/space/epoch.js +4 -5
- package/dist/src/commands/space/epoch.js.map +1 -1
- package/dist/src/commands/space/info.js +4 -5
- package/dist/src/commands/space/info.js.map +1 -1
- package/dist/src/commands/space/join.js +14 -16
- package/dist/src/commands/space/join.js.map +1 -1
- package/dist/src/commands/space/list.js +20 -21
- package/dist/src/commands/space/list.js.map +1 -1
- package/dist/src/commands/space/members.js +9 -10
- package/dist/src/commands/space/members.js.map +1 -1
- package/dist/src/commands/space/open.js +3 -4
- package/dist/src/commands/space/open.js.map +1 -1
- package/dist/src/commands/space/query.js +12 -14
- package/dist/src/commands/space/query.js.map +1 -1
- package/dist/src/commands/space/schema/list.js +12 -15
- package/dist/src/commands/space/schema/list.js.map +1 -1
- package/dist/src/commands/space/share.d.ts.map +1 -1
- package/dist/src/commands/space/share.js +31 -32
- package/dist/src/commands/space/share.js.map +1 -1
- package/dist/src/commands/tunnel/index.js +19 -22
- package/dist/src/commands/tunnel/index.js.map +1 -1
- package/dist/src/commands/tunnel/list.js +10 -13
- package/dist/src/commands/tunnel/list.js.map +1 -1
- package/dist/src/components/SpaceTable.d.ts.map +1 -1
- package/dist/src/components/SpaceTable.js.map +1 -1
- package/dist/src/components/SystemTable.d.ts.map +1 -1
- package/dist/src/components/SystemTable.js +2 -2
- package/dist/src/components/SystemTable.js.map +1 -1
- package/dist/src/help.js +1 -1
- package/dist/src/help.js.map +1 -1
- package/dist/src/util/function/lookup.d.ts +2 -2
- package/dist/src/util/function/lookup.d.ts.map +1 -1
- package/dist/src/util/function/lookup.js.map +1 -1
- package/dist/src/util/provider/digital-ocean.js +3 -3
- package/dist/src/util/provider/digital-ocean.js.map +1 -1
- package/dist/src/util/provider/provider.d.ts.map +1 -1
- package/dist/src/util/provider/provider.js.map +1 -1
- package/dist/src/util/publish/build.d.ts +1 -1
- package/dist/src/util/publish/build.d.ts.map +1 -1
- package/dist/src/util/publish/build.js +2 -3
- package/dist/src/util/publish/build.js.map +1 -1
- package/dist/src/util/publish/common.d.ts.map +1 -1
- package/dist/src/util/publish/common.js.map +1 -1
- package/dist/src/util/publish/config.d.ts.map +1 -1
- package/dist/src/util/publish/config.js +2 -3
- package/dist/src/util/publish/config.js.map +1 -1
- package/dist/src/util/publish/ipfs-upload.d.ts.map +1 -1
- package/dist/src/util/publish/ipfs-upload.js.map +1 -1
- package/dist/src/util/publish/publish.d.ts.map +1 -1
- package/dist/src/util/publish/publish.js +4 -5
- package/dist/src/util/publish/publish.js.map +1 -1
- package/dist/src/util/publish/publisher-rpc-peer.d.ts.map +1 -1
- package/dist/src/util/publish/publisher-rpc-peer.js +10 -8
- package/dist/src/util/publish/publisher-rpc-peer.js.map +1 -1
- package/dist/src/util/supervisor/supervisor-rpc-peer.d.ts.map +1 -1
- package/dist/src/util/supervisor/supervisor-rpc-peer.js +10 -8
- package/dist/src/util/supervisor/supervisor-rpc-peer.js.map +1 -1
- package/dist/src/util/tunnel/common.d.ts.map +1 -1
- package/dist/src/util/tunnel/common.js.map +1 -1
- package/dist/src/util/tunnel/tunnel-rpc-peer.d.ts.map +1 -1
- package/dist/src/util/tunnel/tunnel-rpc-peer.js +10 -8
- package/dist/src/util/tunnel/tunnel-rpc-peer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +108 -2
- package/package.json +26 -26
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
//
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
|
-
import { Args, Flags } from '@oclif/core';
|
|
5
4
|
import fs from 'node:fs';
|
|
6
5
|
import { basename } from 'node:path';
|
|
7
6
|
import path from 'path';
|
|
7
|
+
import { Args, Flags } from '@oclif/core';
|
|
8
8
|
import { asyncTimeout } from '@dxos/async';
|
|
9
9
|
import { Obj, Ref } from '@dxos/echo';
|
|
10
10
|
import { FunctionType, ScriptType, makeFunctionUrl, setUserFunctionUrlInMetadata } from '@dxos/functions';
|
|
@@ -14,7 +14,21 @@ import { DataType } from '@dxos/schema';
|
|
|
14
14
|
import { BaseCommand } from '../../base';
|
|
15
15
|
import { bundleScript, findFunctionByDeploymentId } from '../../util';
|
|
16
16
|
// TODO: move to cli-composer
|
|
17
|
-
class Upload extends BaseCommand {
|
|
17
|
+
export default class Upload extends BaseCommand {
|
|
18
|
+
static enableJsonFlag = true;
|
|
19
|
+
static description = 'Upload user function.';
|
|
20
|
+
static flags = {
|
|
21
|
+
...BaseCommand.flags,
|
|
22
|
+
name: Flags.string({ description: 'Function name.' }),
|
|
23
|
+
version: Flags.string({ description: 'Function version.' }),
|
|
24
|
+
composerScript: Flags.boolean({ description: 'Loads the script into composer.' }),
|
|
25
|
+
functionId: Flags.string({ description: 'Existing UserFunction ID to update.' }),
|
|
26
|
+
spaceKey: Flags.string({ description: 'Space key to create/update Script source in.' }),
|
|
27
|
+
noSpace: Flags.boolean({ description: 'Only uploads a function, without creating a FunctionObject in ECHO.' }),
|
|
28
|
+
};
|
|
29
|
+
static args = {
|
|
30
|
+
file: Args.string({ required: true }),
|
|
31
|
+
};
|
|
18
32
|
async run() {
|
|
19
33
|
const { scriptFileContent, bundledScript } = await this._loadScript();
|
|
20
34
|
if (this.flags.noSpace) {
|
|
@@ -39,7 +53,6 @@ class Upload extends BaseCommand {
|
|
|
39
53
|
}, { spaceKeys: this.flags.spaceKey ? [this.flags.spaceKey] : undefined });
|
|
40
54
|
}
|
|
41
55
|
async _loadScript() {
|
|
42
|
-
var _a, _b;
|
|
43
56
|
let scriptFileContent;
|
|
44
57
|
try {
|
|
45
58
|
scriptFileContent = fs.readFileSync(this.args.file, 'utf8');
|
|
@@ -49,7 +62,7 @@ class Upload extends BaseCommand {
|
|
|
49
62
|
}
|
|
50
63
|
const bundleResult = await bundleScript(scriptFileContent);
|
|
51
64
|
if (bundleResult.error || !bundleResult.bundle) {
|
|
52
|
-
this.error(`Error bundling script ${this.args.file}: ${
|
|
65
|
+
this.error(`Error bundling script ${this.args.file}: ${bundleResult.error?.message ?? 'empty output'}`);
|
|
53
66
|
}
|
|
54
67
|
return { scriptFileContent, bundledScript: bundleResult.bundle };
|
|
55
68
|
}
|
|
@@ -72,7 +85,7 @@ class Upload extends BaseCommand {
|
|
|
72
85
|
functionId: this.flags.functionId,
|
|
73
86
|
name: this.flags.name,
|
|
74
87
|
source: bundledSource,
|
|
75
|
-
}),
|
|
88
|
+
}), 10_000);
|
|
76
89
|
invariant(result.functionId, 'Upload failed.');
|
|
77
90
|
this.log(`Uploaded function ${result.functionId}, version ${result.version}`);
|
|
78
91
|
return result;
|
|
@@ -82,19 +95,17 @@ class Upload extends BaseCommand {
|
|
|
82
95
|
}
|
|
83
96
|
}
|
|
84
97
|
_updateFunctionObject(space, existingObject, uploadResult) {
|
|
85
|
-
var _a;
|
|
86
98
|
let functionObject = existingObject;
|
|
87
99
|
if (!functionObject) {
|
|
88
100
|
const name = path.basename(this.args.file, path.extname(this.args.file));
|
|
89
101
|
functionObject = space.db.add(Obj.make(FunctionType, { name, version: uploadResult.version }));
|
|
90
102
|
}
|
|
91
|
-
functionObject.name =
|
|
103
|
+
functionObject.name = this.flags.name ?? functionObject.name;
|
|
92
104
|
functionObject.version = uploadResult.version;
|
|
93
105
|
setUserFunctionUrlInMetadata(Obj.getMeta(functionObject), makeFunctionUrl(uploadResult));
|
|
94
106
|
return functionObject;
|
|
95
107
|
}
|
|
96
108
|
async _updateComposerScript(client, space, functionObject, scriptFileName, scriptFileContent) {
|
|
97
|
-
var _a;
|
|
98
109
|
client.addTypes([ScriptType, DataType.Text]);
|
|
99
110
|
if (functionObject.source) {
|
|
100
111
|
const script = await functionObject.source.load();
|
|
@@ -105,8 +116,8 @@ class Upload extends BaseCommand {
|
|
|
105
116
|
}
|
|
106
117
|
}
|
|
107
118
|
else {
|
|
108
|
-
const sourceObj = space.db.add(
|
|
109
|
-
const obj = space.db.add(Obj.make(ScriptType, { name:
|
|
119
|
+
const sourceObj = space.db.add(DataType.makeText(scriptFileContent));
|
|
120
|
+
const obj = space.db.add(Obj.make(ScriptType, { name: this.flags.name ?? scriptFileName, source: Ref.make(sourceObj) }));
|
|
110
121
|
functionObject.source = Ref.make(obj);
|
|
111
122
|
await makeObjectNavigableInComposer(client, space, obj);
|
|
112
123
|
if (this.flags.verbose) {
|
|
@@ -115,31 +126,15 @@ class Upload extends BaseCommand {
|
|
|
115
126
|
}
|
|
116
127
|
}
|
|
117
128
|
async _getNextVersion(functionObject) {
|
|
118
|
-
var _a;
|
|
119
129
|
if (this.flags.version) {
|
|
120
130
|
return this.flags.version;
|
|
121
131
|
}
|
|
122
132
|
if (functionObject) {
|
|
123
|
-
return incrementSemverPatch(
|
|
133
|
+
return incrementSemverPatch(functionObject?.version ?? '0.0.0');
|
|
124
134
|
}
|
|
125
135
|
return '0.0.1';
|
|
126
136
|
}
|
|
127
137
|
}
|
|
128
|
-
Upload.enableJsonFlag = true;
|
|
129
|
-
Upload.description = 'Upload user function.';
|
|
130
|
-
Upload.flags = {
|
|
131
|
-
...BaseCommand.flags,
|
|
132
|
-
name: Flags.string({ description: 'Function name.' }),
|
|
133
|
-
version: Flags.string({ description: 'Function version.' }),
|
|
134
|
-
composerScript: Flags.boolean({ description: 'Loads the script into composer.' }),
|
|
135
|
-
functionId: Flags.string({ description: 'Existing UserFunction ID to update.' }),
|
|
136
|
-
spaceKey: Flags.string({ description: 'Space key to create/update Script source in.' }),
|
|
137
|
-
noSpace: Flags.boolean({ description: 'Only uploads a function, without creating a FunctionObject in ECHO.' }),
|
|
138
|
-
};
|
|
139
|
-
Upload.args = {
|
|
140
|
-
file: Args.string({ required: true }),
|
|
141
|
-
};
|
|
142
|
-
export default Upload;
|
|
143
138
|
const makeObjectNavigableInComposer = async (client, space, obj) => {
|
|
144
139
|
const collection = space.properties['dxos.org/type/Collection'];
|
|
145
140
|
if (collection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../src/commands/function/upload.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../src/commands/function/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../../src/commands/function/watch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../../src/commands/function/watch.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,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;YAgDX,mBAAmB;YAkBnB,eAAe;YA6Bf,aAAa;IAe3B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,uBAAuB;CAIhC"}
|
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
//
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
|
-
import { Args, Flags } from '@oclif/core';
|
|
5
4
|
import fs from 'fs';
|
|
6
|
-
import {
|
|
5
|
+
import { Args, Flags } from '@oclif/core';
|
|
6
|
+
import { Trigger, debounce } from '@dxos/async';
|
|
7
7
|
import { FunctionType, ScriptType } from '@dxos/functions';
|
|
8
8
|
import { DataType } from '@dxos/schema';
|
|
9
9
|
import { BaseCommand } from '../../base';
|
|
10
10
|
import { bundleScript } from '../../util';
|
|
11
11
|
import { findFunctionByDeploymentId } from '../../util/function/lookup';
|
|
12
12
|
const LOCAL_FUNCTIONS_RUNTIME_URL = 'http://127.0.0.1:3123';
|
|
13
|
-
class Watch extends BaseCommand {
|
|
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
|
+
};
|
|
14
24
|
async run() {
|
|
15
25
|
return this.execWithSpace(async ({ client, space }) => {
|
|
16
26
|
client.addTypes([DataType.Text, ScriptType, FunctionType]);
|
|
@@ -66,7 +76,6 @@ class Watch extends BaseCommand {
|
|
|
66
76
|
return { functionObject: matchingFunction, scriptContent: content };
|
|
67
77
|
}
|
|
68
78
|
async _isRuntimeReady() {
|
|
69
|
-
var _a, _b;
|
|
70
79
|
try {
|
|
71
80
|
const result = await fetch(`${LOCAL_FUNCTIONS_RUNTIME_URL}/sanity`);
|
|
72
81
|
if (result.status !== 200) {
|
|
@@ -83,17 +92,16 @@ class Watch extends BaseCommand {
|
|
|
83
92
|
return { ready: false, reason: `Deployment status check failed: ${result.statusText}` };
|
|
84
93
|
}
|
|
85
94
|
const bodyJson = await result.json();
|
|
86
|
-
if (!
|
|
95
|
+
if (!bodyJson.versions?.length) {
|
|
87
96
|
return { ready: false, reason: `Function with id ${functionId} is not deployed.` };
|
|
88
97
|
}
|
|
89
98
|
return { ready: true };
|
|
90
99
|
}
|
|
91
100
|
catch (err) {
|
|
92
|
-
return { ready: false, reason: `Deployment status check failed, reason: ${
|
|
101
|
+
return { ready: false, reason: `Deployment status check failed, reason: ${err.message ?? 'unknown'}` };
|
|
93
102
|
}
|
|
94
103
|
}
|
|
95
104
|
async _uploadSource(bundledScript) {
|
|
96
|
-
var _a;
|
|
97
105
|
try {
|
|
98
106
|
const result = await fetch(`${LOCAL_FUNCTIONS_RUNTIME_URL}/workers/${this.flags.functionId}/source`, {
|
|
99
107
|
method: 'PUT',
|
|
@@ -105,7 +113,7 @@ class Watch extends BaseCommand {
|
|
|
105
113
|
return { success: true };
|
|
106
114
|
}
|
|
107
115
|
catch (err) {
|
|
108
|
-
return { success: false, reason:
|
|
116
|
+
return { success: false, reason: err.message ?? 'unknown' };
|
|
109
117
|
}
|
|
110
118
|
}
|
|
111
119
|
_logWithTime(message) {
|
|
@@ -116,15 +124,4 @@ class Watch extends BaseCommand {
|
|
|
116
124
|
this.log(message);
|
|
117
125
|
}
|
|
118
126
|
}
|
|
119
|
-
Watch.enableJsonFlag = true;
|
|
120
|
-
Watch.description = 'Hot reload script on file changes.';
|
|
121
|
-
Watch.flags = {
|
|
122
|
-
...BaseCommand.flags,
|
|
123
|
-
functionId: Flags.string({ description: 'Existing UserFunction ID to update.', required: true }),
|
|
124
|
-
spaceKey: Flags.string({ description: 'Space key to create/update Script source in.' }),
|
|
125
|
-
};
|
|
126
|
-
Watch.args = {
|
|
127
|
-
file: Args.string({ required: true }),
|
|
128
|
-
};
|
|
129
|
-
export default Watch;
|
|
130
127
|
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/commands/function/watch.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/commands/function/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,18 @@
|
|
|
4
4
|
import { Args, Flags } from '@oclif/core';
|
|
5
5
|
import { DeviceType } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
6
6
|
import { BaseCommand } from '../../base';
|
|
7
|
-
class Create extends BaseCommand {
|
|
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
|
+
};
|
|
8
19
|
async run() {
|
|
9
20
|
const { displayName } = this.args;
|
|
10
21
|
const { managedAgent, deviceLabel } = this.flags;
|
|
@@ -22,16 +33,4 @@ class Create extends BaseCommand {
|
|
|
22
33
|
}, { halo: false });
|
|
23
34
|
}
|
|
24
35
|
}
|
|
25
|
-
Create.enableJsonFlag = true;
|
|
26
|
-
Create.description = 'Create HALO.';
|
|
27
|
-
Create.args = {
|
|
28
|
-
displayName: Args.string({ description: 'Display name', default: 'Agent' }),
|
|
29
|
-
};
|
|
30
|
-
Create.flags = {
|
|
31
|
-
...BaseCommand.flags,
|
|
32
|
-
deviceLabel: Flags.string({ description: 'Device label' }),
|
|
33
|
-
// TODO(burdon): Rename flags.
|
|
34
|
-
managedAgent: Flags.boolean({ description: 'Managed agent', default: false }),
|
|
35
|
-
};
|
|
36
|
-
export default Create;
|
|
37
36
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -5,7 +5,11 @@ import { Args } from '@oclif/core';
|
|
|
5
5
|
import { invariant } from '@dxos/invariant';
|
|
6
6
|
import { schema } from '@dxos/protocols/proto';
|
|
7
7
|
import { BaseCommand } from '../../../base';
|
|
8
|
-
class Add extends BaseCommand {
|
|
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
|
+
};
|
|
9
13
|
async run() {
|
|
10
14
|
let { credential: credentialHex } = this.args;
|
|
11
15
|
if (!credentialHex) {
|
|
@@ -35,9 +39,4 @@ class Add extends BaseCommand {
|
|
|
35
39
|
});
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
|
-
Add.description = 'Import credential into HALO.';
|
|
39
|
-
Add.args = {
|
|
40
|
-
credential: Args.string({ description: 'credential', required: false }),
|
|
41
|
-
};
|
|
42
|
-
export default Add;
|
|
43
42
|
//# sourceMappingURL=add.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -2,10 +2,30 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
|
-
import {
|
|
6
|
-
import { mapCredentials, printCredentials
|
|
5
|
+
import { Trigger, sleep } from '@dxos/async';
|
|
6
|
+
import { TABLE_FLAGS, mapCredentials, printCredentials } from '@dxos/cli-base';
|
|
7
7
|
import { BaseCommand } from '../../../base';
|
|
8
|
-
class List extends BaseCommand {
|
|
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
|
+
};
|
|
9
29
|
async run() {
|
|
10
30
|
return await this.execWithClient(async ({ client }) => {
|
|
11
31
|
let credentials;
|
|
@@ -39,25 +59,4 @@ class List extends BaseCommand {
|
|
|
39
59
|
});
|
|
40
60
|
}
|
|
41
61
|
}
|
|
42
|
-
List.enableJsonFlag = true;
|
|
43
|
-
List.description = 'List HALO credentials.';
|
|
44
|
-
List.flags = {
|
|
45
|
-
...BaseCommand.flags,
|
|
46
|
-
...TABLE_FLAGS,
|
|
47
|
-
type: Flags.string({
|
|
48
|
-
description: 'Type',
|
|
49
|
-
}),
|
|
50
|
-
timeout: Flags.integer({
|
|
51
|
-
description: 'Time in milliseconds to wait for at least one credential before listing.',
|
|
52
|
-
default: 500,
|
|
53
|
-
}),
|
|
54
|
-
delay: Flags.integer({
|
|
55
|
-
description: 'Delay in milliseconds before listing.',
|
|
56
|
-
default: 250,
|
|
57
|
-
}),
|
|
58
|
-
space: Flags.string({
|
|
59
|
-
description: 'Space ID of the space to show credentials from. By default, shows halo credentials.',
|
|
60
|
-
}),
|
|
61
|
-
};
|
|
62
|
-
export default List;
|
|
63
62
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
//
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { BaseCommand } from '../../base';
|
|
6
|
-
class Identity extends BaseCommand {
|
|
6
|
+
export default class Identity extends BaseCommand {
|
|
7
|
+
static enableJsonFlag = true;
|
|
8
|
+
static description = 'Show HALO identity.';
|
|
9
|
+
static aliases = ['halo:id'];
|
|
7
10
|
async run() {
|
|
8
11
|
return await this.execWithClient(async ({ client }) => {
|
|
9
12
|
const identity = client.halo.identity.get();
|
|
@@ -16,7 +19,7 @@ class Identity extends BaseCommand {
|
|
|
16
19
|
await client.spaces.waitUntilReady();
|
|
17
20
|
const { identityKey, profile } = identity;
|
|
18
21
|
this.log('Identity key:', identityKey.toHex());
|
|
19
|
-
this.log('Display name:', profile
|
|
22
|
+
this.log('Display name:', profile?.displayName);
|
|
20
23
|
return {
|
|
21
24
|
identityKey: identityKey.toHex(),
|
|
22
25
|
profile,
|
|
@@ -25,8 +28,4 @@ class Identity extends BaseCommand {
|
|
|
25
28
|
});
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
|
-
Identity.enableJsonFlag = true;
|
|
29
|
-
Identity.description = 'Show HALO identity.';
|
|
30
|
-
Identity.aliases = ['halo:id'];
|
|
31
|
-
export default Identity;
|
|
32
31
|
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -4,16 +4,34 @@
|
|
|
4
4
|
import { Flags, ux } from '@oclif/core';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import inquirer from 'inquirer';
|
|
7
|
-
import {
|
|
7
|
+
import { Trigger, asyncTimeout } from '@dxos/async';
|
|
8
8
|
import { acceptInvitation } from '@dxos/cli-base';
|
|
9
9
|
import { InvitationEncoder } from '@dxos/client/invitations';
|
|
10
10
|
import { DeviceType } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
11
11
|
import { BaseCommand } from '../../base';
|
|
12
|
-
class Join extends BaseCommand {
|
|
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
|
+
};
|
|
13
32
|
async run() {
|
|
14
33
|
let { invitation: encoded, secret, 'device-label': deviceLabel, 'managed-agent': managedAgent } = this.flags;
|
|
15
34
|
return await this.execWithClient(async ({ client }) => {
|
|
16
|
-
var _a;
|
|
17
35
|
if (client.halo.identity.get()) {
|
|
18
36
|
this.catch(chalk `{red Profile already initialized.}`);
|
|
19
37
|
}
|
|
@@ -27,7 +45,7 @@ class Join extends BaseCommand {
|
|
|
27
45
|
}
|
|
28
46
|
if (encoded.startsWith('http') || encoded.startsWith('socket')) {
|
|
29
47
|
const searchParams = new URLSearchParams(encoded.substring(encoded.lastIndexOf('?')));
|
|
30
|
-
encoded =
|
|
48
|
+
encoded = searchParams.get('deviceInvitationCode') ?? encoded;
|
|
31
49
|
}
|
|
32
50
|
ux.stdout('');
|
|
33
51
|
ux.action.start('Waiting for peer to connect');
|
|
@@ -73,24 +91,4 @@ class Join extends BaseCommand {
|
|
|
73
91
|
}, { halo: false });
|
|
74
92
|
}
|
|
75
93
|
}
|
|
76
|
-
Join.enableJsonFlag = true;
|
|
77
|
-
Join.description = 'Join HALO (device) invitation.';
|
|
78
|
-
Join.flags = {
|
|
79
|
-
...BaseCommand.flags,
|
|
80
|
-
invitation: Flags.string({
|
|
81
|
-
description: 'Invitation code',
|
|
82
|
-
}),
|
|
83
|
-
secret: Flags.string({
|
|
84
|
-
description: 'Invitation secret',
|
|
85
|
-
}),
|
|
86
|
-
timeout: Flags.integer({
|
|
87
|
-
description: 'Timeout in seconds',
|
|
88
|
-
default: 300,
|
|
89
|
-
}),
|
|
90
|
-
'device-label': Flags.string({
|
|
91
|
-
description: 'Set device label',
|
|
92
|
-
}),
|
|
93
|
-
'managed-agent': Flags.boolean({ description: 'set device type as managed agent', default: false }),
|
|
94
|
-
};
|
|
95
|
-
export default Join;
|
|
96
94
|
//# sourceMappingURL=join.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../src/commands/halo/join.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../src/commands/halo/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
// Copyright 2022 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
import { BaseCommand } from '../../base';
|
|
5
|
-
class Keys extends BaseCommand {
|
|
5
|
+
export default class Keys extends BaseCommand {
|
|
6
|
+
static enableJsonFlag = true;
|
|
7
|
+
static description = 'Show HALO keys.';
|
|
6
8
|
async run() {
|
|
7
9
|
return await this.execWithClient(async ({ client }) => {
|
|
8
10
|
console.log(client.halo);
|
|
9
11
|
});
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
|
-
Keys.enableJsonFlag = true;
|
|
13
|
-
Keys.description = 'Show HALO keys.';
|
|
14
|
-
export default Keys;
|
|
15
14
|
//# sourceMappingURL=keys.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
// Copyright 2022 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
import { BaseCommand } from '../../../base';
|
|
5
|
-
class Generate extends BaseCommand {
|
|
5
|
+
export default class Generate extends BaseCommand {
|
|
6
|
+
static enableJsonFlag = true;
|
|
7
|
+
static description = 'Generate a seedphrase that can be used for identity recovery.';
|
|
6
8
|
async run() {
|
|
7
9
|
return await this.execWithClient(async ({ client }) => {
|
|
8
10
|
const result = await client.services.services.IdentityService.createRecoveryCredential({});
|
|
@@ -11,7 +13,4 @@ class Generate extends BaseCommand {
|
|
|
11
13
|
});
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
|
-
Generate.enableJsonFlag = true;
|
|
15
|
-
Generate.description = 'Generate a seedphrase that can be used for identity recovery.';
|
|
16
|
-
export default Generate;
|
|
17
16
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/commands/halo/recovery/generate.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/commands/halo/recovery/generate.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAA4B;IAChE,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IACtC,MAAM,CAAU,WAAW,GAAG,+DAA+D,CAAC;IAE9F,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAgB,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
//
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
5
|
import { BaseCommand } from '../../../base';
|
|
6
|
-
class Use extends BaseCommand {
|
|
6
|
+
export default class Use extends BaseCommand {
|
|
7
|
+
static enableJsonFlag = true;
|
|
8
|
+
static description = 'Use a code to recover identity.';
|
|
9
|
+
static flags = {
|
|
10
|
+
...BaseCommand.flags,
|
|
11
|
+
recoveryCode: Flags.string({ description: 'Recovery code.', required: true }),
|
|
12
|
+
};
|
|
7
13
|
async run() {
|
|
8
14
|
const { recoveryCode } = this.flags;
|
|
9
15
|
return await this.execWithClient(async ({ client }) => {
|
|
@@ -12,11 +18,4 @@ class Use extends BaseCommand {
|
|
|
12
18
|
}, { halo: false });
|
|
13
19
|
}
|
|
14
20
|
}
|
|
15
|
-
Use.enableJsonFlag = true;
|
|
16
|
-
Use.description = 'Use a code to recover identity.';
|
|
17
|
-
Use.flags = {
|
|
18
|
-
...BaseCommand.flags,
|
|
19
|
-
recoveryCode: Flags.string({ description: 'Recovery code.', required: true }),
|
|
20
|
-
};
|
|
21
|
-
export default Use;
|
|
22
21
|
//# sourceMappingURL=use.js.map
|