create-hq 10.1.0 → 10.7.1
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/admin-onboarding.d.ts +42 -0
- package/dist/admin-onboarding.d.ts.map +1 -0
- package/dist/admin-onboarding.js +460 -0
- package/dist/admin-onboarding.js.map +1 -0
- package/dist/art.d.ts +17 -0
- package/dist/art.d.ts.map +1 -0
- package/dist/art.js +171 -0
- package/dist/art.js.map +1 -0
- package/dist/auth.d.ts +60 -23
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +219 -116
- package/dist/auth.js.map +1 -1
- package/dist/cloud.d.ts +26 -0
- package/dist/cloud.d.ts.map +1 -0
- package/dist/cloud.js +126 -0
- package/dist/cloud.js.map +1 -0
- package/dist/company-template.d.ts +34 -0
- package/dist/company-template.d.ts.map +1 -0
- package/dist/company-template.js +142 -0
- package/dist/company-template.js.map +1 -0
- package/dist/deps.d.ts +2 -0
- package/dist/deps.d.ts.map +1 -1
- package/dist/deps.js +42 -30
- package/dist/deps.js.map +1 -1
- package/dist/fetch-template.d.ts +2 -2
- package/dist/fetch-template.d.ts.map +1 -1
- package/dist/fetch-template.js +54 -38
- package/dist/fetch-template.js.map +1 -1
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +28 -4
- package/dist/git.js.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/invite-command.d.ts +10 -0
- package/dist/invite-command.d.ts.map +1 -0
- package/dist/invite-command.js +110 -0
- package/dist/invite-command.js.map +1 -0
- package/dist/invite.d.ts +91 -0
- package/dist/invite.d.ts.map +1 -0
- package/dist/invite.js +230 -0
- package/dist/invite.js.map +1 -0
- package/dist/join-flow.d.ts +32 -0
- package/dist/join-flow.d.ts.map +1 -0
- package/dist/join-flow.js +194 -0
- package/dist/join-flow.js.map +1 -0
- package/dist/platform.d.ts +2 -2
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +14 -1
- package/dist/platform.js.map +1 -1
- package/dist/scaffold.d.ts +4 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +152 -41
- package/dist/scaffold.js.map +1 -1
- package/dist/team-setup.d.ts +58 -0
- package/dist/team-setup.d.ts.map +1 -0
- package/dist/team-setup.js +237 -0
- package/dist/team-setup.js.map +1 -0
- package/dist/teams-flow.d.ts +36 -0
- package/dist/teams-flow.d.ts.map +1 -0
- package/dist/teams-flow.js +134 -0
- package/dist/teams-flow.js.map +1 -0
- package/dist/tui.d.ts +8 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +86 -0
- package/dist/tui.js.map +1 -0
- package/dist/ui.d.ts +17 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +45 -0
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
package/dist/art.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
const VERSION = "7.0.0";
|
|
3
|
+
/**
|
|
4
|
+
* Raw banner lines without ANSI codes — testable.
|
|
5
|
+
*/
|
|
6
|
+
export function bannerLines() {
|
|
7
|
+
return [
|
|
8
|
+
"",
|
|
9
|
+
" ┌──────────┐",
|
|
10
|
+
" │ ╔══════╗│",
|
|
11
|
+
" │ ║INDIGO║│",
|
|
12
|
+
" │ ║ HQ ║│",
|
|
13
|
+
" │ ╚══════╝│",
|
|
14
|
+
" ┌────┴──────────┴────┐",
|
|
15
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
16
|
+
" │ ░░ ▓▓ ░░ ▓▓ ░░ │",
|
|
17
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
18
|
+
" ┌────┴────────────────────┴────┐",
|
|
19
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
20
|
+
" │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
|
|
21
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
22
|
+
" ┌────┴─────────────────────────────┴────┐",
|
|
23
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
24
|
+
" │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
|
|
25
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
26
|
+
" │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
|
|
27
|
+
" ┌────┴──────────────────────────────────────┴────┐",
|
|
28
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
29
|
+
" │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
|
|
30
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
31
|
+
" │ ┌──────────────┐ │",
|
|
32
|
+
" │ │ ════════ │ │",
|
|
33
|
+
" └───────┴──────────────┴───────┘",
|
|
34
|
+
"",
|
|
35
|
+
" ██╗███╗ ██╗██████╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ",
|
|
36
|
+
" ██║████╗ ██║██╔══██╗██║██╔════╝ ██╔═══██╗ ██║ ██║██╔═══██╗",
|
|
37
|
+
" ██║██╔██╗ ██║██║ ██║██║██║ ███╗██║ ██║ ███████║██║ ██║",
|
|
38
|
+
" ██║██║╚██╗██║██║ ██║██║██║ ██║██║ ██║ ██╔══██║██║▄▄ ██║",
|
|
39
|
+
" ██║██║ ╚████║██████╔╝██║╚██████╔╝╚██████╔╝ ██║ ██║╚██████╔╝",
|
|
40
|
+
" ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ",
|
|
41
|
+
"",
|
|
42
|
+
` Personal OS for AI Workers v${VERSION}`,
|
|
43
|
+
"",
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Raw compact banner lines without ANSI codes — testable.
|
|
48
|
+
*/
|
|
49
|
+
export function compactBannerLines() {
|
|
50
|
+
return [
|
|
51
|
+
"",
|
|
52
|
+
" ┌────────────┐",
|
|
53
|
+
" │ ╔════════╗ │",
|
|
54
|
+
" │ ║INDIGOHQ║ │",
|
|
55
|
+
" │ ╚════════╝ │",
|
|
56
|
+
" ┌────┴────────────┴────┐",
|
|
57
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
58
|
+
" │ ░░ ▓▓ ░░ ▓▓ ░░ │",
|
|
59
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
60
|
+
" │ ░░ ▓▓ ░░ ▓▓ ░░ │",
|
|
61
|
+
" │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
|
|
62
|
+
" │ ┌──────┐ │",
|
|
63
|
+
" │ │ ════ │ │",
|
|
64
|
+
" └────┴──────┴────────┘",
|
|
65
|
+
"",
|
|
66
|
+
" ██╗██╗ ██╗ ██████╗ ",
|
|
67
|
+
" ██║██║ ██║██╔═══██╗",
|
|
68
|
+
" ██║███████║██║ ██║",
|
|
69
|
+
" ██║██╔══██║██║▄▄ ██║",
|
|
70
|
+
" ██║██║ ██║╚██████╔╝",
|
|
71
|
+
" ╚═╝╚═╝ ╚═╝ ╚══▀▀═╝",
|
|
72
|
+
"",
|
|
73
|
+
" Personal OS for AI Workers",
|
|
74
|
+
` v${VERSION}`,
|
|
75
|
+
"",
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Full-width ASCII art banner (80 cols) — retro office building + INDIGO HQ
|
|
80
|
+
*/
|
|
81
|
+
export function banner() {
|
|
82
|
+
const b = chalk.cyan; // building structure
|
|
83
|
+
const bd = chalk.cyanBright; // building highlights
|
|
84
|
+
const w = chalk.blueBright; // windows (lit)
|
|
85
|
+
const wd = chalk.blue; // windows (dark)
|
|
86
|
+
const t = chalk.bold.whiteBright; // title text
|
|
87
|
+
const dim = chalk.dim;
|
|
88
|
+
const lines = [
|
|
89
|
+
"",
|
|
90
|
+
b(" ┌──────────┐"),
|
|
91
|
+
b(" │") + bd(" ╔══════╗") + b("│"),
|
|
92
|
+
b(" │") + bd(" ║INDIGO║") + b("│"),
|
|
93
|
+
b(" │") + bd(" ║ HQ ║") + b("│"),
|
|
94
|
+
b(" │") + bd(" ╚══════╝") + b("│"),
|
|
95
|
+
b(" ┌────┴──────────┴────┐"),
|
|
96
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
97
|
+
b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
|
|
98
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
99
|
+
b(" ┌────┴────────────────────┴────┐"),
|
|
100
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
101
|
+
b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
|
|
102
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
103
|
+
b(" ┌────┴─────────────────────────────┴────┐"),
|
|
104
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
105
|
+
b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
|
|
106
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
107
|
+
b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
|
|
108
|
+
b(" ┌────┴──────────────────────────────────────┴────┐"),
|
|
109
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
110
|
+
b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
|
|
111
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
112
|
+
b(" │") + wd(" ") + b("┌──────────────┐") + wd(" ") + b("│"),
|
|
113
|
+
b(" │") + wd(" ") + b("│") + bd(" ════════ ") + b("│") + wd(" ") + b("│"),
|
|
114
|
+
b(" └───────┴──────────────┴───────┘"),
|
|
115
|
+
"",
|
|
116
|
+
t(" ██╗███╗ ██╗██████╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ "),
|
|
117
|
+
t(" ██║████╗ ██║██╔══██╗██║██╔════╝ ██╔═══██╗ ██║ ██║██╔═══██╗"),
|
|
118
|
+
t(" ██║██╔██╗ ██║██║ ██║██║██║ ███╗██║ ██║ ███████║██║ ██║"),
|
|
119
|
+
t(" ██║██║╚██╗██║██║ ██║██║██║ ██║██║ ██║ ██╔══██║██║▄▄ ██║"),
|
|
120
|
+
t(" ██║██║ ╚████║██████╔╝██║╚██████╔╝╚██████╔╝ ██║ ██║╚██████╔╝"),
|
|
121
|
+
t(" ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══▀▀═╝ "),
|
|
122
|
+
"",
|
|
123
|
+
dim(" Personal OS for AI Workers") + dim(` v${VERSION}`),
|
|
124
|
+
"",
|
|
125
|
+
];
|
|
126
|
+
for (const line of lines) {
|
|
127
|
+
console.log(line);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Compact banner for narrow terminals (< 80 cols)
|
|
132
|
+
*/
|
|
133
|
+
export function compactBanner() {
|
|
134
|
+
const b = chalk.cyan;
|
|
135
|
+
const bd = chalk.cyanBright;
|
|
136
|
+
const w = chalk.blueBright;
|
|
137
|
+
const wd = chalk.blue;
|
|
138
|
+
const t = chalk.bold.whiteBright;
|
|
139
|
+
const dim = chalk.dim;
|
|
140
|
+
const lines = [
|
|
141
|
+
"",
|
|
142
|
+
b(" ┌────────────┐"),
|
|
143
|
+
b(" │") + bd(" ╔════════╗ ") + b("│"),
|
|
144
|
+
b(" │") + bd(" ║INDIGOHQ║ ") + b("│"),
|
|
145
|
+
b(" │") + bd(" ╚════════╝ ") + b("│"),
|
|
146
|
+
b(" ┌────┴────────────┴────┐"),
|
|
147
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
148
|
+
b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
|
|
149
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
150
|
+
b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
|
|
151
|
+
b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
|
|
152
|
+
b(" │") + wd(" ") + b("┌──────┐") + wd(" ") + b("│"),
|
|
153
|
+
b(" │") + wd(" ") + b("│") + bd(" ════ ") + b("│") + wd(" ") + b("│"),
|
|
154
|
+
b(" └────┴──────┴────────┘"),
|
|
155
|
+
"",
|
|
156
|
+
t(" ██╗██╗ ██╗ ██████╗ "),
|
|
157
|
+
t(" ██║██║ ██║██╔═══██╗"),
|
|
158
|
+
t(" ██║███████║██║ ██║"),
|
|
159
|
+
t(" ██║██╔══██║██║▄▄ ██║"),
|
|
160
|
+
t(" ██║██║ ██║╚██████╔╝"),
|
|
161
|
+
t(" ╚═╝╚═╝ ╚═╝ ╚══▀▀═╝"),
|
|
162
|
+
"",
|
|
163
|
+
dim(" Personal OS for AI Workers"),
|
|
164
|
+
dim(` v${VERSION}`),
|
|
165
|
+
"",
|
|
166
|
+
];
|
|
167
|
+
for (const line of lines) {
|
|
168
|
+
console.log(line);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=art.js.map
|
package/dist/art.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art.js","sourceRoot":"","sources":["../src/art.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,32 +1,69 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* GitHub App device flow auth for create-hq.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Talks directly to github.com — no backend involved.
|
|
5
|
+
*
|
|
6
|
+
* Flow:
|
|
7
|
+
* 1. POST github.com/login/device/code with our App's client_id
|
|
8
|
+
* 2. Display user_code, open verification_uri in browser
|
|
9
|
+
* 3. Poll github.com/login/oauth/access_token at the GitHub-specified interval
|
|
10
|
+
* 4. On success: GET api.github.com/user → store { access_token, login, id, name, email }
|
|
11
|
+
*
|
|
12
|
+
* Token is stored at ~/.hq/credentials.json (mode 0600). Tokens are
|
|
13
|
+
* GitHub App user-to-server tokens (ghu_…), so they ignore OAuth scopes —
|
|
14
|
+
* permissions are configured on the App settings page.
|
|
7
15
|
*
|
|
8
16
|
* Token values are NEVER written to stdout or logs.
|
|
9
17
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
18
|
+
/** hq-team-sync GitHub App client ID (public — safe to commit). */
|
|
19
|
+
export declare const HQ_GITHUB_APP_CLIENT_ID = "Iv23liSdkCBQYhrNcRmI";
|
|
20
|
+
export declare const HQ_GITHUB_APP_SLUG = "hq-team-sync";
|
|
21
|
+
/** Stored credentials for the authenticated GitHub user. */
|
|
22
|
+
export interface GitHubAuth {
|
|
23
|
+
/** ghu_ user-to-server token from GitHub App device flow. */
|
|
24
|
+
access_token: string;
|
|
25
|
+
/** GitHub login (username). */
|
|
26
|
+
login: string;
|
|
27
|
+
/** GitHub numeric user ID. */
|
|
28
|
+
id: number;
|
|
29
|
+
/** Display name (may be null on GitHub, fall back to login). */
|
|
30
|
+
name: string | null;
|
|
31
|
+
/** Public email (may be null if user has it private). */
|
|
32
|
+
email: string | null;
|
|
33
|
+
/** ISO timestamp the token was issued. */
|
|
34
|
+
issued_at: string;
|
|
15
35
|
}
|
|
16
|
-
/** Save auth token to ~/.hq/auth.json with 0600 permissions. */
|
|
17
|
-
export declare function saveToken(token: AuthToken): void;
|
|
18
|
-
/** Load auth token from ~/.hq/auth.json. Returns null if missing/invalid. */
|
|
19
|
-
export declare function loadToken(): AuthToken | null;
|
|
20
|
-
/** Check if a token is expired or within 5 minutes of expiry. */
|
|
21
|
-
export declare function isTokenExpired(token: AuthToken): boolean;
|
|
22
36
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
37
|
+
* Backwards-compat alias used by older modules. Will be removed once all
|
|
38
|
+
* callers have migrated. New code should use GitHubAuth.
|
|
39
|
+
*/
|
|
40
|
+
export type AuthToken = GitHubAuth;
|
|
41
|
+
/** Save credentials to ~/.hq/credentials.json with 0600 perms. */
|
|
42
|
+
export declare function saveGitHubAuth(auth: GitHubAuth): void;
|
|
43
|
+
/** Load credentials, or null if missing/invalid. */
|
|
44
|
+
export declare function loadGitHubAuth(): GitHubAuth | null;
|
|
45
|
+
/** Remove stored credentials. */
|
|
46
|
+
export declare function clearGitHubAuth(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Quick liveness probe — does the stored token still work?
|
|
49
|
+
* Calls api.github.com/user with the token; returns true on 200.
|
|
50
|
+
*/
|
|
51
|
+
export declare function isGitHubAuthValid(auth: GitHubAuth): Promise<boolean>;
|
|
52
|
+
/** Open a URL in the user's default browser. Best-effort, never throws. */
|
|
53
|
+
export declare function openBrowser(url: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Run the GitHub App device authorization flow.
|
|
56
|
+
*
|
|
57
|
+
* Throws on:
|
|
58
|
+
* - Network errors talking to github.com
|
|
59
|
+
* - User-denied authorization (access_denied)
|
|
60
|
+
* - Device code expiration
|
|
61
|
+
* - Failure to fetch the user profile
|
|
62
|
+
*/
|
|
63
|
+
export declare function startGitHubDeviceFlow(): Promise<GitHubAuth>;
|
|
64
|
+
/**
|
|
65
|
+
* Authenticated fetch against api.github.com. Throws on non-2xx with
|
|
66
|
+
* the response body included for diagnostics.
|
|
30
67
|
*/
|
|
31
|
-
export declare function
|
|
68
|
+
export declare function githubApi<T>(pathname: string, auth: GitHubAuth, init?: RequestInit): Promise<T>;
|
|
32
69
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAWjD,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,yDAAyD;IACzD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AAkCnC,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAKrD;AAED,oDAAoD;AACpD,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAelD;AAED,iCAAiC;AACjC,wBAAgB,eAAe,IAAI,IAAI,CAQtC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAc1E;AAID,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkB7C;AAQD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,UAAU,CAAC,CAyHjE;AAID;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,CAAC,CAAC,CAwBZ"}
|