@kincollab/cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -0
- package/bin/run.js +3 -0
- package/dist/commands/access.d.ts +9 -0
- package/dist/commands/access.d.ts.map +1 -0
- package/dist/commands/access.js +46 -0
- package/dist/commands/access.js.map +1 -0
- package/dist/commands/activity.d.ts +10 -0
- package/dist/commands/activity.d.ts.map +1 -0
- package/dist/commands/activity.js +40 -0
- package/dist/commands/activity.js.map +1 -0
- package/dist/commands/comment/reply.d.ts +14 -0
- package/dist/commands/comment/reply.d.ts.map +1 -0
- package/dist/commands/comment/reply.js +23 -0
- package/dist/commands/comment/reply.js.map +1 -0
- package/dist/commands/comment/resolve.d.ts +10 -0
- package/dist/commands/comment/resolve.d.ts.map +1 -0
- package/dist/commands/comment/resolve.js +20 -0
- package/dist/commands/comment/resolve.js.map +1 -0
- package/dist/commands/comments.d.ts +12 -0
- package/dist/commands/comments.d.ts.map +1 -0
- package/dist/commands/comments.js +50 -0
- package/dist/commands/comments.js.map +1 -0
- package/dist/commands/contents.d.ts +13 -0
- package/dist/commands/contents.d.ts.map +1 -0
- package/dist/commands/contents.js +75 -0
- package/dist/commands/contents.js.map +1 -0
- package/dist/commands/doc/delete.d.ts +10 -0
- package/dist/commands/doc/delete.d.ts.map +1 -0
- package/dist/commands/doc/delete.js +24 -0
- package/dist/commands/doc/delete.js.map +1 -0
- package/dist/commands/doc/get.d.ts +13 -0
- package/dist/commands/doc/get.d.ts.map +1 -0
- package/dist/commands/doc/get.js +36 -0
- package/dist/commands/doc/get.js.map +1 -0
- package/dist/commands/doc/move.d.ts +14 -0
- package/dist/commands/doc/move.d.ts.map +1 -0
- package/dist/commands/doc/move.js +31 -0
- package/dist/commands/doc/move.js.map +1 -0
- package/dist/commands/doc/post.d.ts +15 -0
- package/dist/commands/doc/post.d.ts.map +1 -0
- package/dist/commands/doc/post.js +36 -0
- package/dist/commands/doc/post.js.map +1 -0
- package/dist/commands/doc/rename.d.ts +13 -0
- package/dist/commands/doc/rename.d.ts.map +1 -0
- package/dist/commands/doc/rename.js +24 -0
- package/dist/commands/doc/rename.js.map +1 -0
- package/dist/commands/doc/restore.d.ts +10 -0
- package/dist/commands/doc/restore.d.ts.map +1 -0
- package/dist/commands/doc/restore.js +22 -0
- package/dist/commands/doc/restore.js.map +1 -0
- package/dist/commands/doc/update.d.ts +15 -0
- package/dist/commands/doc/update.d.ts.map +1 -0
- package/dist/commands/doc/update.js +30 -0
- package/dist/commands/doc/update.js.map +1 -0
- package/dist/commands/feedback/submit.d.ts +6 -0
- package/dist/commands/feedback/submit.d.ts.map +1 -0
- package/dist/commands/feedback/submit.js +9 -0
- package/dist/commands/feedback/submit.js.map +1 -0
- package/dist/commands/folder/move.d.ts +14 -0
- package/dist/commands/folder/move.d.ts.map +1 -0
- package/dist/commands/folder/move.js +31 -0
- package/dist/commands/folder/move.js.map +1 -0
- package/dist/commands/folder/rename.d.ts +13 -0
- package/dist/commands/folder/rename.d.ts.map +1 -0
- package/dist/commands/folder/rename.js +25 -0
- package/dist/commands/folder/rename.js.map +1 -0
- package/dist/commands/identity/emoji.d.ts +13 -0
- package/dist/commands/identity/emoji.d.ts.map +1 -0
- package/dist/commands/identity/emoji.js +58 -0
- package/dist/commands/identity/emoji.js.map +1 -0
- package/dist/commands/login.d.ts +10 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +44 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +6 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +11 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/version.d.ts +6 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +11 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/commands/whoami.d.ts +9 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +40 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/client.d.ts +10 -0
- package/dist/lib/client.d.ts.map +1 -0
- package/dist/lib/client.js +50 -0
- package/dist/lib/client.js.map +1 -0
- package/dist/lib/config.d.ts +9 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +38 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/content.d.ts +11 -0
- package/dist/lib/content.d.ts.map +1 -0
- package/dist/lib/content.js +19 -0
- package/dist/lib/content.js.map +1 -0
- package/dist/lib/kin-types.d.ts +58 -0
- package/dist/lib/kin-types.d.ts.map +1 -0
- package/dist/lib/kin-types.js +5 -0
- package/dist/lib/kin-types.js.map +1 -0
- package/dist/lib/output.d.ts +44 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +96 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/types.d.ts +14 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DocPost extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
workspaceId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
content: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
folder: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/commands/doc/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AAclD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAuC;IAEzD,MAAM,CAAC,IAAI;;MAEV;IAED,MAAM,CAAC,KAAK;;;;;MAKX;IAEK,GAAG;CA0BV"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Command, Args, Flags } from '@oclif/core';
|
|
2
|
+
import { apiPost } from '../../lib/client.js';
|
|
3
|
+
import { kv, sep, hint, ansi, resolveCommitSha } from '../../lib/output.js';
|
|
4
|
+
import { readContent } from '../../lib/content.js';
|
|
5
|
+
export default class DocPost extends Command {
|
|
6
|
+
static description = 'Post a new document to a workspace';
|
|
7
|
+
static args = {
|
|
8
|
+
workspaceId: Args.string({ description: 'Workspace ID', required: true }),
|
|
9
|
+
};
|
|
10
|
+
static flags = {
|
|
11
|
+
name: Flags.string({ char: 'n', description: 'Document name', required: true }),
|
|
12
|
+
file: Flags.string({ char: 'f', description: 'Read content from a file path' }),
|
|
13
|
+
content: Flags.string({ char: 'c', description: 'Document content (inline)' }),
|
|
14
|
+
folder: Flags.string({ description: 'Folder ID to place the document in' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { args, flags } = await this.parse(DocPost);
|
|
18
|
+
const content = readContent(flags, (msg) => this.error(msg));
|
|
19
|
+
const doc = await apiPost(`/workspaces/${args.workspaceId}/documents`, { name: flags.name, content, ...(flags.folder ? { folderId: flags.folder } : {}) });
|
|
20
|
+
const sha = resolveCommitSha(doc);
|
|
21
|
+
const webUrl = doc.webUrl ?? '';
|
|
22
|
+
this.log(ansi.green(' Document created'));
|
|
23
|
+
sep();
|
|
24
|
+
kv('ID', doc.id);
|
|
25
|
+
kv('Name', doc.name);
|
|
26
|
+
kv('Commit SHA', sha);
|
|
27
|
+
if (webUrl) {
|
|
28
|
+
this.log(`\n ${ansi.bold('View in browser:')}`);
|
|
29
|
+
this.log(` ${ansi.cyan(webUrl)}`);
|
|
30
|
+
}
|
|
31
|
+
sep();
|
|
32
|
+
hint(`Edit it with: kin doc update ${args.workspaceId} ${doc.id} --file <path>`);
|
|
33
|
+
hint(`Read comments with: kin comments ${doc.id}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/commands/doc/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAWlD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,GAAG,oCAAoC,CAAA;IAEzD,MAAM,CAAC,IAAI,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAK,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClF,IAAI,EAAK,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;QAClF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QAC9E,MAAM,EAAG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;KAC7E,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAE5D,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,eAAe,IAAI,CAAC,WAAW,YAAY,EAC3C,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACnF,CAAA;QAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;QAE/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC1C,GAAG,EAAE,CAAA;QACL,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAChB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QACpB,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QACrB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACpC,CAAC;QACD,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,gCAAgC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAChF,IAAI,CAAC,oCAAoC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DocRename extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
workspaceId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
assetId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=rename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../../src/commands/doc/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AASlD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAA2E;IAE7F,MAAM,CAAC,IAAI;;;MAGV;IAED,MAAM,CAAC,KAAK;;MAEX;IAEK,GAAG;CAeV"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Command, Args, Flags } from '@oclif/core';
|
|
2
|
+
import { apiPatch } from '../../lib/client.js';
|
|
3
|
+
import { kv, sep, hint, ansi } from '../../lib/output.js';
|
|
4
|
+
export default class DocRename extends Command {
|
|
5
|
+
static description = "Rename a document (changes its display name; git history is preserved)";
|
|
6
|
+
static args = {
|
|
7
|
+
workspaceId: Args.string({ description: 'Workspace ID', required: true }),
|
|
8
|
+
assetId: Args.string({ description: 'Document (asset) ID', required: true }),
|
|
9
|
+
};
|
|
10
|
+
static flags = {
|
|
11
|
+
name: Flags.string({ char: 'n', description: 'New document name', required: true }),
|
|
12
|
+
};
|
|
13
|
+
async run() {
|
|
14
|
+
const { args, flags } = await this.parse(DocRename);
|
|
15
|
+
const doc = await apiPatch(`/workspaces/${args.workspaceId}/documents/${args.assetId}`, { name: flags.name });
|
|
16
|
+
this.log(ansi.green(' Document renamed'));
|
|
17
|
+
sep();
|
|
18
|
+
kv('ID', doc.id);
|
|
19
|
+
kv('Name', doc.name);
|
|
20
|
+
sep();
|
|
21
|
+
hint(`Read it with: kin doc get ${args.workspaceId} ${doc.id}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=rename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../src/commands/doc/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAOzD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,GAAG,wEAAwE,CAAA;IAE7F,MAAM,CAAC,IAAI,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,OAAO,EAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACjF,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACpF,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAEnD,MAAM,GAAG,GAAG,MAAM,QAAQ,CACxB,eAAe,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,OAAO,EAAE,EAC3D,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CACrB,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC1C,GAAG,EAAE,CAAA;QACL,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAChB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QACpB,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,6BAA6B,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IACjE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DocRestore extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
workspaceId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
assetId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=restore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../src/commands/doc/restore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,aAAa,CAAA;AAU3C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA+B;IAEjD,MAAM,CAAC,IAAI;;;MAGV;IAEK,GAAG;CAcV"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Command, Args } from '@oclif/core';
|
|
2
|
+
import { apiPost } from '../../lib/client.js';
|
|
3
|
+
import { kv, sep, hint, ansi } from '../../lib/output.js';
|
|
4
|
+
export default class DocRestore extends Command {
|
|
5
|
+
static description = 'Restore a trashed document';
|
|
6
|
+
static args = {
|
|
7
|
+
workspaceId: Args.string({ description: 'Workspace ID', required: true }),
|
|
8
|
+
assetId: Args.string({ description: 'Document (asset) ID', required: true }),
|
|
9
|
+
};
|
|
10
|
+
async run() {
|
|
11
|
+
const { args } = await this.parse(DocRestore);
|
|
12
|
+
const result = await apiPost(`/workspaces/${args.workspaceId}/documents/${args.assetId}/restore`);
|
|
13
|
+
this.log(ansi.green(' Document restored'));
|
|
14
|
+
sep();
|
|
15
|
+
kv('ID', result.id);
|
|
16
|
+
if (result.name)
|
|
17
|
+
kv('Name', result.name);
|
|
18
|
+
sep();
|
|
19
|
+
hint(`View it with: kin doc get ${args.workspaceId} ${args.assetId}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=restore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../src/commands/doc/restore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAQzD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,GAAG,4BAA4B,CAAA;IAEjD,MAAM,CAAC,IAAI,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,OAAO,EAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACjF,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,eAAe,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,OAAO,UAAU,CACpE,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;QAC3C,GAAG,EAAE,CAAA;QACL,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACnB,IAAI,MAAM,CAAC,IAAI;YAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACxC,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,6BAA6B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACvE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DocUpdate extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
workspaceId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
assetId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
content: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
message: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/doc/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAgC;IAElD,MAAM,CAAC,IAAI;;;MAGV;IAED,MAAM,CAAC,KAAK;;;;MAIX;IAEK,GAAG;CAmBV"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Command, Args, Flags } from '@oclif/core';
|
|
2
|
+
import { apiPatch } from '../../lib/client.js';
|
|
3
|
+
import { kv, sep, hint, ansi, resolveCommitSha } from '../../lib/output.js';
|
|
4
|
+
import { readContent } from '../../lib/content.js';
|
|
5
|
+
export default class DocUpdate extends Command {
|
|
6
|
+
static description = "Update a document's content";
|
|
7
|
+
static args = {
|
|
8
|
+
workspaceId: Args.string({ description: 'Workspace ID', required: true }),
|
|
9
|
+
assetId: Args.string({ description: 'Document (asset) ID', required: true }),
|
|
10
|
+
};
|
|
11
|
+
static flags = {
|
|
12
|
+
file: Flags.string({ char: 'f', description: 'Read content from a file path' }),
|
|
13
|
+
content: Flags.string({ char: 'c', description: 'Content (inline)' }),
|
|
14
|
+
message: Flags.string({ char: 'm', description: 'Commit message' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { args, flags } = await this.parse(DocUpdate);
|
|
18
|
+
const content = readContent(flags, (msg) => this.error(msg));
|
|
19
|
+
const body = { content, ...(flags.message ? { message: flags.message } : {}) };
|
|
20
|
+
const doc = await apiPatch(`/workspaces/${args.workspaceId}/documents/${args.assetId}`, body);
|
|
21
|
+
this.log(ansi.green(' Document updated'));
|
|
22
|
+
sep();
|
|
23
|
+
kv('ID', doc.id);
|
|
24
|
+
kv('Name', doc.name);
|
|
25
|
+
kv('New Commit SHA', resolveCommitSha(doc));
|
|
26
|
+
sep();
|
|
27
|
+
hint(`Read comments with: kin comments ${args.assetId}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/doc/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AASlD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,GAAG,6BAA6B,CAAA;IAElD,MAAM,CAAC,IAAI,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,OAAO,EAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACjF,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAK,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;QAClF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;KACpE,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAEnD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QAE9E,MAAM,GAAG,GAAG,MAAM,QAAQ,CACxB,eAAe,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,OAAO,EAAE,EAC3D,IAAI,CACL,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC1C,GAAG,EAAE,CAAA;QACL,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAChB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QACpB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3C,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,oCAAoC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/commands/feedback/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAC,WAAW,SAAoB;IAEhC,GAAG;CAIV"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class FeedbackSubmit extends Command {
|
|
3
|
+
static description = 'Submit feedback';
|
|
4
|
+
async run() {
|
|
5
|
+
this.log('Feedback submission coming soon.');
|
|
6
|
+
this.log('In the meantime: https://kincollab.com/feedback');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=submit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/commands/feedback/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAC,WAAW,GAAG,iBAAiB,CAAA;IAEtC,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;IAC7D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class FolderMove extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
workspaceId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
folderId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
parent: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
root: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=move.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/commands/folder/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AAWlD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAAkE;IAEpF,MAAM,CAAC,IAAI;;;MAGV;IAED,MAAM,CAAC,KAAK;;;MAGX;IAEK,GAAG;CAuBV"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Command, Args, Flags } from '@oclif/core';
|
|
2
|
+
import { apiPatch } from '../../lib/client.js';
|
|
3
|
+
import { kv, sep, hint, ansi } from '../../lib/output.js';
|
|
4
|
+
export default class FolderMove extends Command {
|
|
5
|
+
static description = 'Move a folder under another folder (or to the workspace root)';
|
|
6
|
+
static args = {
|
|
7
|
+
workspaceId: Args.string({ description: 'Workspace ID', required: true }),
|
|
8
|
+
folderId: Args.string({ description: 'Folder ID', required: true }),
|
|
9
|
+
};
|
|
10
|
+
static flags = {
|
|
11
|
+
parent: Flags.string({ description: 'Target parent folder ID (omit or use --root to move to the workspace root)' }),
|
|
12
|
+
root: Flags.boolean({ description: 'Move the folder to the workspace root', default: false }),
|
|
13
|
+
};
|
|
14
|
+
async run() {
|
|
15
|
+
const { args, flags } = await this.parse(FolderMove);
|
|
16
|
+
if (!flags.parent && !flags.root) {
|
|
17
|
+
this.error('Specify --parent <id> to move under a folder, or --root to move to the workspace root');
|
|
18
|
+
}
|
|
19
|
+
const parentFolderId = flags.root ? null : flags.parent;
|
|
20
|
+
const folder = await apiPatch(`/workspaces/${args.workspaceId}/folders/${args.folderId}`, { parentFolderId });
|
|
21
|
+
this.log(ansi.green(' Folder moved'));
|
|
22
|
+
sep();
|
|
23
|
+
kv('ID', folder.id);
|
|
24
|
+
kv('Name', folder.name);
|
|
25
|
+
kv('Path', folder.path);
|
|
26
|
+
kv('Parent', folder.parentFolderId ?? '(workspace root)');
|
|
27
|
+
sep();
|
|
28
|
+
hint(`List the workspace tree with: kin contents ${args.workspaceId}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=move.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move.js","sourceRoot":"","sources":["../../../src/commands/folder/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AASzD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,GAAG,+DAA+D,CAAA;IAEpF,MAAM,CAAC,IAAI,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,QAAQ,EAAK,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACvE,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4EAA4E,EAAE,CAAC;QACnH,IAAI,EAAI,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAChG,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAA;QACrG,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAO,CAAA;QAExD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,eAAe,IAAI,CAAC,WAAW,YAAY,IAAI,CAAC,QAAQ,EAAE,EAC1D,EAAE,cAAc,EAAE,CACnB,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACtC,GAAG,EAAE,CAAA;QACL,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACnB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,IAAI,kBAAkB,CAAC,CAAA;QACzD,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,8CAA8C,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACxE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class FolderRename extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
workspaceId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
folderId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=rename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../../src/commands/folder/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AAUlD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,MAAM,CAAC,WAAW,SAA6E;IAE/F,MAAM,CAAC,IAAI;;;MAGV;IAED,MAAM,CAAC,KAAK;;MAEX;IAEK,GAAG;CAgBV"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command, Args, Flags } from '@oclif/core';
|
|
2
|
+
import { apiPatch } from '../../lib/client.js';
|
|
3
|
+
import { kv, sep, hint, ansi } from '../../lib/output.js';
|
|
4
|
+
export default class FolderRename extends Command {
|
|
5
|
+
static description = 'Rename a folder (updates its name and the paths of everything inside it)';
|
|
6
|
+
static args = {
|
|
7
|
+
workspaceId: Args.string({ description: 'Workspace ID', required: true }),
|
|
8
|
+
folderId: Args.string({ description: 'Folder ID', required: true }),
|
|
9
|
+
};
|
|
10
|
+
static flags = {
|
|
11
|
+
name: Flags.string({ char: 'n', description: 'New folder name', required: true }),
|
|
12
|
+
};
|
|
13
|
+
async run() {
|
|
14
|
+
const { args, flags } = await this.parse(FolderRename);
|
|
15
|
+
const folder = await apiPatch(`/workspaces/${args.workspaceId}/folders/${args.folderId}`, { name: flags.name });
|
|
16
|
+
this.log(ansi.green(' Folder renamed'));
|
|
17
|
+
sep();
|
|
18
|
+
kv('ID', folder.id);
|
|
19
|
+
kv('Name', folder.name);
|
|
20
|
+
kv('Path', folder.path);
|
|
21
|
+
sep();
|
|
22
|
+
hint(`List the workspace tree with: kin contents ${args.workspaceId}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=rename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../src/commands/folder/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAQzD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,MAAM,CAAC,WAAW,GAAG,0EAA0E,CAAA;IAE/F,MAAM,CAAC,IAAI,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,QAAQ,EAAK,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACvE,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAClF,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAEtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,eAAe,IAAI,CAAC,WAAW,YAAY,IAAI,CAAC,QAAQ,EAAE,EAC1D,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CACrB,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACxC,GAAG,EAAE,CAAA;QACL,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACnB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,8CAA8C,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACxE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class IdentityEmoji extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
emoji: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
clear: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=emoji.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../../src/commands/identity/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AAWlD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,MAAM,CAAC,WAAW,SAAqC;IAEvD,MAAM,CAAC,IAAI;;MAEV;IAED,MAAM,CAAC,KAAK;;;MAGX;IAEK,GAAG;CAiCV"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Command, Args, Flags } from '@oclif/core';
|
|
2
|
+
import { apiGet, apiPatch } from '../../lib/client.js';
|
|
3
|
+
import { kv, sep, hint, ansi, printJson, JSON_FLAG } from '../../lib/output.js';
|
|
4
|
+
function printIdentityEmoji(me) {
|
|
5
|
+
sep();
|
|
6
|
+
kv('Name', me.data.name);
|
|
7
|
+
kv('Emoji', me.data.emoji ?? '—');
|
|
8
|
+
}
|
|
9
|
+
export default class IdentityEmoji extends Command {
|
|
10
|
+
static description = "Get or set your identity's emoji";
|
|
11
|
+
static args = {
|
|
12
|
+
emoji: Args.string({ description: 'Emoji to set (e.g. 🦉). Omit to show current.', required: false }),
|
|
13
|
+
};
|
|
14
|
+
static flags = {
|
|
15
|
+
...JSON_FLAG,
|
|
16
|
+
clear: Flags.boolean({ description: 'Clear your emoji', default: false }),
|
|
17
|
+
};
|
|
18
|
+
async run() {
|
|
19
|
+
const { args, flags } = await this.parse(IdentityEmoji);
|
|
20
|
+
// --clear flag: patch emoji to null
|
|
21
|
+
if (flags.clear) {
|
|
22
|
+
const me = await apiPatch('/me', { emoji: null });
|
|
23
|
+
if (flags.json) {
|
|
24
|
+
printJson(me);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.log(ansi.green(' Emoji cleared.'));
|
|
28
|
+
printIdentityEmoji(me);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// Arg provided: set emoji
|
|
32
|
+
if (args.emoji) {
|
|
33
|
+
const me = await apiPatch('/me', { emoji: args.emoji });
|
|
34
|
+
if (flags.json) {
|
|
35
|
+
printJson(me);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.log(ansi.green(` Emoji set to ${args.emoji}`));
|
|
39
|
+
printIdentityEmoji(me);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// No arg, no flag: show current emoji
|
|
43
|
+
const me = await apiGet('/me');
|
|
44
|
+
if (flags.json) {
|
|
45
|
+
printJson(me);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
printIdentityEmoji(me);
|
|
49
|
+
sep();
|
|
50
|
+
if (!me.data.emoji) {
|
|
51
|
+
hint('No emoji set. Pick one with: kin identity emoji <emoji>');
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
hint('Change it with: kin identity emoji <emoji> | Clear with: kin identity emoji --clear');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=emoji.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji.js","sourceRoot":"","sources":["../../../src/commands/identity/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/E,SAAS,kBAAkB,CAAC,EAAc;IACxC,GAAG,EAAE,CAAA;IACL,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,MAAM,CAAC,WAAW,GAAG,kCAAkC,CAAA;IAEvD,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KACtG,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,SAAS;QACZ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAC1E,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAEvD,oCAAoC;QACpC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAa,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;YACxC,kBAAkB,CAAC,EAAE,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAa,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YACnE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACpD,kBAAkB,CAAC,EAAE,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QAED,sCAAsC;QACtC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAa,KAAK,CAAC,CAAA;QAC1C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QAEzC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtB,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,yDAAyD,CAAC,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,uFAAuF,CAAC,CAAA;QAC/F,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Login extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
token: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
url: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAc5C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,WAAW,SAA+C;IAEjE,MAAM,CAAC,KAAK;;;MAWX;IAEK,GAAG;CA0BV"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { saveConfig, clearConfig } from '../lib/config.js';
|
|
3
|
+
import { apiGetWith } from '../lib/client.js';
|
|
4
|
+
import { kv, hint, sep, ansi } from '../lib/output.js';
|
|
5
|
+
export default class Login extends Command {
|
|
6
|
+
static description = 'Authenticate with Kin using an agent token';
|
|
7
|
+
static flags = {
|
|
8
|
+
token: Flags.string({
|
|
9
|
+
char: 't',
|
|
10
|
+
description: 'Agent token (kin_live_…)',
|
|
11
|
+
required: true,
|
|
12
|
+
}),
|
|
13
|
+
url: Flags.string({
|
|
14
|
+
char: 'u',
|
|
15
|
+
description: 'Kin API base URL',
|
|
16
|
+
default: 'http://localhost:3000',
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
const { flags } = await this.parse(Login);
|
|
21
|
+
const { token, url } = flags;
|
|
22
|
+
// Validate by hitting GET /me with the token
|
|
23
|
+
let me;
|
|
24
|
+
try {
|
|
25
|
+
me = await apiGetWith('/me', token, url);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
clearConfig();
|
|
29
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
30
|
+
this.error(`Authentication failed: ${message}`);
|
|
31
|
+
}
|
|
32
|
+
saveConfig({ baseUrl: url, token });
|
|
33
|
+
this.log(ansi.green(' Authenticated successfully'));
|
|
34
|
+
sep();
|
|
35
|
+
kv('Name', me.data.name);
|
|
36
|
+
kv('Type', me.data.type);
|
|
37
|
+
kv('Identity ID', me.data.id);
|
|
38
|
+
kv('API URL', url);
|
|
39
|
+
sep();
|
|
40
|
+
hint('Try `kin access` to see your org → workspace map');
|
|
41
|
+
hint('Try `kin whoami` to confirm your identity and scopes');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAWtD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,WAAW,GAAG,4CAA4C,CAAA;IAEjE,MAAM,CAAC,KAAK,GAAG;QACb,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,uBAAuB;SACjC,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;QAE5B,6CAA6C;QAC7C,IAAI,EAAc,CAAA;QAClB,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,UAAU,CAAa,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,EAAE,CAAA;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChE,IAAI,CAAC,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAEnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACpD,GAAG,EAAE,CAAA;QACL,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7B,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAClB,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,kDAAkD,CAAC,CAAA;QACxD,IAAI,CAAC,sDAAsD,CAAC,CAAA;IAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAIrC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAA6B;IAEzC,GAAG;CAIV"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
import { clearConfig } from '../lib/config.js';
|
|
3
|
+
import { ansi } from '../lib/output.js';
|
|
4
|
+
export default class Logout extends Command {
|
|
5
|
+
static description = 'Clear stored credentials';
|
|
6
|
+
async run() {
|
|
7
|
+
clearConfig();
|
|
8
|
+
this.log(ansi.dim(' Credentials cleared. Run `kin login --token <token>` to log in again.'));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=logout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEvC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,GAAG,0BAA0B,CAAA;IAE/C,KAAK,CAAC,GAAG;QACP,WAAW,EAAE,CAAA;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAA;IAC/F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAkC;IAE9C,GAAG;CAKV"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
import { kv, sep } from '../lib/output.js';
|
|
3
|
+
export default class Version extends Command {
|
|
4
|
+
static description = 'Show CLI version and docs URL';
|
|
5
|
+
async run() {
|
|
6
|
+
kv('CLI version', '0.1.0');
|
|
7
|
+
kv('Docs', 'https://kincollab.com/docs');
|
|
8
|
+
sep();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE1C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,GAAG,+BAA+B,CAAA;IAEpD,KAAK,CAAC,GAAG;QACP,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC1B,EAAE,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;QACxC,GAAG,EAAE,CAAA;IACP,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Whoami extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
readonly json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
6
|
+
};
|
|
7
|
+
run(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=whoami.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAYrC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAA0C;IAE5D,MAAM,CAAC,KAAK;;MAAY;IAElB,GAAG;CAqCV"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
import { apiGet } from '../lib/client.js';
|
|
3
|
+
import { kv, hint, sep, header, ansi, printJson, JSON_FLAG } from '../lib/output.js';
|
|
4
|
+
export default class Whoami extends Command {
|
|
5
|
+
static description = 'Show your identity and granted scopes';
|
|
6
|
+
static flags = JSON_FLAG;
|
|
7
|
+
async run() {
|
|
8
|
+
const { flags } = await this.parse(Whoami);
|
|
9
|
+
const [me, caps] = await Promise.all([
|
|
10
|
+
apiGet('/me'),
|
|
11
|
+
apiGet('/me/capabilities'),
|
|
12
|
+
]);
|
|
13
|
+
if (flags.json) {
|
|
14
|
+
printJson({ me, capabilities: caps });
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
header('Identity');
|
|
18
|
+
kv('Name', me.data.name);
|
|
19
|
+
kv('Type', me.data.type);
|
|
20
|
+
kv('Emoji', me.data.emoji ?? '—');
|
|
21
|
+
kv('ID', me.data.id);
|
|
22
|
+
header('Granted Scopes');
|
|
23
|
+
if (caps.scopes.length === 0) {
|
|
24
|
+
this.log(ansi.dim(' (none)'));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
for (const scope of caps.scopes) {
|
|
28
|
+
this.log(` ${ansi.cyan(scope)}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (caps.effectiveScopes.length > caps.scopes.length) {
|
|
32
|
+
sep();
|
|
33
|
+
this.log(ansi.dim(` Effective (with implied): ${caps.effectiveScopes.join(', ')}`));
|
|
34
|
+
}
|
|
35
|
+
sep();
|
|
36
|
+
hint('Run `kin access` to see your org → workspace map');
|
|
37
|
+
hint('Set your emoji with: kin identity emoji <emoji>');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=whoami.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAUpF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,GAAG,uCAAuC,CAAA;IAE5D,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;IAExB,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAE1C,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnC,MAAM,CAAa,KAAK,CAAC;YACzB,MAAM,CAAuB,kBAAkB,CAAC;SACjD,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAA;QACjC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEpB,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrD,GAAG,EAAE,CAAA;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACtF,CAAC;QAED,GAAG,EAAE,CAAA;QACL,IAAI,CAAC,kDAAkD,CAAC,CAAA;QACxD,IAAI,CAAC,iDAAiD,CAAC,CAAA;IACzD,CAAC"}
|