@pedrohnas/opencode-telegram 1.2.1 → 1.3.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/.claude/skills/playwright-cli/data/page-2026-02-09T01-41-55-194Z.yml +36 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-42-17-115Z.yml +36 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-43-15-988Z.yml +26 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-43-26-107Z.yml +26 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-45-03-139Z.yml +29 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-45-21-579Z.yml +29 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-45-48-051Z.yml +30 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-46-27-632Z.yml +33 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-46-46-519Z.yml +33 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-47-28-491Z.yml +349 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-47-34-834Z.yml +349 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-47-54-066Z.yml +168 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-48-19-667Z.yml +219 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-49-32-311Z.yml +221 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-49-57-109Z.yml +230 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-50-24-052Z.yml +235 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-50-41-148Z.yml +248 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-51-10-916Z.yml +234 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-51-28-271Z.yml +234 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-52-32-324Z.yml +234 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-52-47-801Z.yml +196 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-56-07-361Z.yml +203 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-56-35-534Z.yml +49 -0
- package/.claude/skills/playwright-cli/data/page-2026-02-09T01-57-04-658Z.yml +52 -0
- package/docs/AUDIT.md +193 -0
- package/docs/PROGRESS.md +188 -0
- package/docs/plans/phase-5.md +410 -0
- package/docs/plans/phase-6.5.md +426 -0
- package/docs/plans/phase-6.md +349 -0
- package/e2e/helpers.ts +34 -0
- package/e2e/phase-5.test.ts +295 -0
- package/e2e/phase-6.5.test.ts +239 -0
- package/e2e/phase-6.test.ts +302 -0
- package/package.json +5 -2
- package/src/api-server.test.ts +309 -0
- package/src/api-server.ts +201 -0
- package/src/bot.test.ts +354 -0
- package/src/bot.ts +200 -2
- package/src/config.test.ts +16 -0
- package/src/config.ts +4 -0
- package/src/event-bus.test.ts +337 -1
- package/src/event-bus.ts +83 -3
- package/src/handlers/agents.test.ts +122 -0
- package/src/handlers/agents.ts +93 -0
- package/src/handlers/media.test.ts +264 -0
- package/src/handlers/media.ts +168 -0
- package/src/handlers/models.test.ts +319 -0
- package/src/handlers/models.ts +191 -0
- package/src/index.ts +15 -0
- package/src/send/draft-stream.test.ts +76 -0
- package/src/send/draft-stream.ts +13 -1
- package/src/session-manager.test.ts +46 -0
- package/src/session-manager.ts +10 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
- generic [active] [ref=e1]:
|
|
2
|
+
- generic [ref=e3]:
|
|
3
|
+
- region "Site notifications" [ref=e4]:
|
|
4
|
+
- generic [ref=e8]:
|
|
5
|
+
- generic [ref=e9]: ⚠️
|
|
6
|
+
- alert [ref=e11]:
|
|
7
|
+
- text: "Security Update: Classic tokens have been revoked. Granular tokens are now limited to 90 days and require 2FA by default. Update your CI/CD workflows to avoid disruption."
|
|
8
|
+
- link "Learn more about npm authentication changes" [ref=e12] [cursor=pointer]:
|
|
9
|
+
- /url: https://gh.io/all-npm-classic-tokens-revoked
|
|
10
|
+
- text: Learn more
|
|
11
|
+
- text: .
|
|
12
|
+
- button "Close notification" [ref=e13] [cursor=pointer]: ×
|
|
13
|
+
- generic [ref=e14]:
|
|
14
|
+
- banner [ref=e15]:
|
|
15
|
+
- generic [ref=e16]:
|
|
16
|
+
- generic [ref=e17]:
|
|
17
|
+
- text: "skip to:"
|
|
18
|
+
- link "skip to content" [ref=e18] [cursor=pointer]:
|
|
19
|
+
- /url: "#main"
|
|
20
|
+
- text: content
|
|
21
|
+
- link "skip to package search" [ref=e19] [cursor=pointer]:
|
|
22
|
+
- /url: "#search"
|
|
23
|
+
- text: package search
|
|
24
|
+
- generic [ref=e20]:
|
|
25
|
+
- generic [ref=e21]: ❤
|
|
26
|
+
- navigation "Product Navigation" [ref=e22]:
|
|
27
|
+
- list [ref=e23]:
|
|
28
|
+
- listitem [ref=e24]:
|
|
29
|
+
- link "Pro" [ref=e25] [cursor=pointer]:
|
|
30
|
+
- /url: /products/pro
|
|
31
|
+
- listitem [ref=e26]:
|
|
32
|
+
- link "Teams" [ref=e27] [cursor=pointer]:
|
|
33
|
+
- /url: /products/teams
|
|
34
|
+
- listitem [ref=e28]:
|
|
35
|
+
- link "Pricing" [ref=e29] [cursor=pointer]:
|
|
36
|
+
- /url: /products
|
|
37
|
+
- listitem [ref=e30]:
|
|
38
|
+
- link "Documentation" [ref=e31] [cursor=pointer]:
|
|
39
|
+
- /url: https://docs.npmjs.com
|
|
40
|
+
- generic [ref=e33]:
|
|
41
|
+
- generic [ref=e34]: npm
|
|
42
|
+
- link "Npm" [ref=e36] [cursor=pointer]:
|
|
43
|
+
- /url: /
|
|
44
|
+
- img [ref=e37]
|
|
45
|
+
- generic [ref=e40]:
|
|
46
|
+
- generic [ref=e42]:
|
|
47
|
+
- img [ref=e44]
|
|
48
|
+
- combobox "Search packages" [ref=e50]
|
|
49
|
+
- button "Search" [ref=e52]
|
|
50
|
+
- navigation [ref=e54]:
|
|
51
|
+
- button "Profile menu" [ref=e55]:
|
|
52
|
+
- generic [ref=e56]: Menu
|
|
53
|
+
- img [ref=e57]
|
|
54
|
+
- img [ref=e59]
|
|
55
|
+
- main [ref=e62]:
|
|
56
|
+
- generic [ref=e63]:
|
|
57
|
+
- complementary [ref=e64]:
|
|
58
|
+
- heading "Sidebar" [level=2] [ref=e65]
|
|
59
|
+
- generic [ref=e66]:
|
|
60
|
+
- navigation "Settings navigation" [ref=e67]:
|
|
61
|
+
- list [ref=e68]:
|
|
62
|
+
- listitem [ref=e69]:
|
|
63
|
+
- link "Profile" [ref=e70] [cursor=pointer]:
|
|
64
|
+
- /url: /~pedrohnas
|
|
65
|
+
- img [ref=e71]
|
|
66
|
+
- text: Profile
|
|
67
|
+
- listitem [ref=e73]:
|
|
68
|
+
- link "Packages" [ref=e74] [cursor=pointer]:
|
|
69
|
+
- /url: /settings/pedrohnas/packages
|
|
70
|
+
- img [ref=e75]
|
|
71
|
+
- text: Packages
|
|
72
|
+
- listitem [ref=e77]:
|
|
73
|
+
- link "Account" [ref=e78] [cursor=pointer]:
|
|
74
|
+
- /url: /settings/pedrohnas/profile
|
|
75
|
+
- img [ref=e79]
|
|
76
|
+
- text: Account
|
|
77
|
+
- listitem [ref=e81]:
|
|
78
|
+
- link "Billing Info" [ref=e82] [cursor=pointer]:
|
|
79
|
+
- /url: /settings/pedrohnas/billing
|
|
80
|
+
- img [ref=e83]
|
|
81
|
+
- text: Billing Info
|
|
82
|
+
- listitem [ref=e85]:
|
|
83
|
+
- link "Access Tokens" [ref=e86] [cursor=pointer]:
|
|
84
|
+
- /url: /settings/pedrohnas/tokens
|
|
85
|
+
- img [ref=e87]
|
|
86
|
+
- text: Access Tokens
|
|
87
|
+
- generic [ref=e89]:
|
|
88
|
+
- heading "Organizations" [level=3] [ref=e90]
|
|
89
|
+
- link "Create New Organization" [ref=e91] [cursor=pointer]:
|
|
90
|
+
- /url: /org/create
|
|
91
|
+
- text: +
|
|
92
|
+
- generic [ref=e92]: Create New Organization
|
|
93
|
+
- paragraph [ref=e93]: None
|
|
94
|
+
- generic [ref=e169]:
|
|
95
|
+
- generic [ref=e170]:
|
|
96
|
+
- generic [ref=e171]:
|
|
97
|
+
- heading "New Granular Access Token" [level=1] [ref=e172]
|
|
98
|
+
- link "View token documentation" [ref=e173] [cursor=pointer]:
|
|
99
|
+
- /url: https://docs.npmjs.com/creating-and-viewing-access-tokens#creating-granular-access-tokens-on-the-website
|
|
100
|
+
- paragraph [ref=e176]:
|
|
101
|
+
- link "Granular access tokens" [ref=e177] [cursor=pointer]:
|
|
102
|
+
- /url: https://docs.npmjs.com/about-access-tokens#about-granular-access-tokens
|
|
103
|
+
- text: provide the most control by allowing you to configure fine-grained, tightly scoped permissions for your packages and organizations.
|
|
104
|
+
- generic [ref=e178]:
|
|
105
|
+
- generic [ref=e179]:
|
|
106
|
+
- heading "General" [level=2] [ref=e180]
|
|
107
|
+
- generic [ref=e182]:
|
|
108
|
+
- generic [ref=e183]: Token name *
|
|
109
|
+
- caption [ref=e184]: Provide a unique name.
|
|
110
|
+
- textbox "Token name" [ref=e186]
|
|
111
|
+
- generic [ref=e187]:
|
|
112
|
+
- generic [ref=e189]: Description (optional)
|
|
113
|
+
- caption [ref=e190]: What is this token for?
|
|
114
|
+
- textbox "Description (optional)" [ref=e192]
|
|
115
|
+
- generic [ref=e195]:
|
|
116
|
+
- checkbox "Bypass two-factor authentication (2FA) for this token" [ref=e196]
|
|
117
|
+
- generic [ref=e197]: Bypass two-factor authentication (2FA)
|
|
118
|
+
- group "Allowed IP ranges (optional) Must be valid CIDR notation." [ref=e198]:
|
|
119
|
+
- generic [ref=e199]:
|
|
120
|
+
- generic [ref=e200]: Allowed IP ranges (optional)
|
|
121
|
+
- caption [ref=e201]:
|
|
122
|
+
- text: Must be valid
|
|
123
|
+
- link "CIDR notation" [ref=e202] [cursor=pointer]:
|
|
124
|
+
- /url: https://docs.npmjs.com/creating-and-viewing-access-tokens/#cidr-restricted-token-errors
|
|
125
|
+
- text: .
|
|
126
|
+
- generic [ref=e204]:
|
|
127
|
+
- text: Input Range 1
|
|
128
|
+
- textbox "Input Range 1" [ref=e205]
|
|
129
|
+
- button "Add IP Range" [ref=e206]
|
|
130
|
+
- generic [ref=e207]:
|
|
131
|
+
- heading "Packages and scopes" [level=2] [ref=e208]
|
|
132
|
+
- generic [ref=e210]:
|
|
133
|
+
- paragraph [ref=e211]: Permissions
|
|
134
|
+
- group [ref=e212]:
|
|
135
|
+
- generic "Packages and scopes Permissions" [ref=e213] [cursor=pointer]:
|
|
136
|
+
- text: No access
|
|
137
|
+
- img [ref=e215]
|
|
138
|
+
- paragraph
|
|
139
|
+
- generic [ref=e218]:
|
|
140
|
+
- heading "Organizations" [level=2] [ref=e219]
|
|
141
|
+
- generic [ref=e221]:
|
|
142
|
+
- paragraph [ref=e222]: Permissions
|
|
143
|
+
- group [ref=e223]:
|
|
144
|
+
- generic "Organizations Permissions" [ref=e224] [cursor=pointer]:
|
|
145
|
+
- text: No access
|
|
146
|
+
- img [ref=e226]
|
|
147
|
+
- paragraph
|
|
148
|
+
- generic [ref=e229]:
|
|
149
|
+
- heading "Expiration" [level=2] [ref=e230]
|
|
150
|
+
- generic [ref=e232]:
|
|
151
|
+
- generic [ref=e233]: Expiration Date
|
|
152
|
+
- group [ref=e236]:
|
|
153
|
+
- generic "Expiration Date" [ref=e237] [cursor=pointer]:
|
|
154
|
+
- text: 30 days
|
|
155
|
+
- img [ref=e239]
|
|
156
|
+
- generic [ref=e242]:
|
|
157
|
+
- heading "Summary" [level=2] [ref=e243]
|
|
158
|
+
- generic [ref=e245]:
|
|
159
|
+
- paragraph [ref=e246]: "This token will:"
|
|
160
|
+
- list [ref=e247]:
|
|
161
|
+
- listitem [ref=e248]: Provide no access to packages and scopes
|
|
162
|
+
- listitem [ref=e249]: Provide no access to organizations
|
|
163
|
+
- listitem [ref=e250]: Expires on Tuesday, March 10, 2026
|
|
164
|
+
- generic [ref=e252]:
|
|
165
|
+
- button "Generate token" [ref=e253]
|
|
166
|
+
- button "Cancel" [ref=e254]
|
|
167
|
+
- contentinfo [ref=e123]:
|
|
168
|
+
- heading "Footer" [level=2] [ref=e124]
|
|
169
|
+
- generic [ref=e125]:
|
|
170
|
+
- generic [ref=e126]:
|
|
171
|
+
- link "Visit npm GitHub page" [ref=e128] [cursor=pointer]:
|
|
172
|
+
- /url: https://github.com/npm
|
|
173
|
+
- img [ref=e129]
|
|
174
|
+
- link "GitHub" [ref=e133] [cursor=pointer]:
|
|
175
|
+
- /url: https://github.com
|
|
176
|
+
- img [ref=e134]
|
|
177
|
+
- generic [ref=e136]:
|
|
178
|
+
- heading "Support" [level=3] [ref=e137]
|
|
179
|
+
- list "Support" [ref=e138]:
|
|
180
|
+
- listitem [ref=e139]:
|
|
181
|
+
- link "Help" [ref=e140] [cursor=pointer]:
|
|
182
|
+
- /url: https://docs.npmjs.com
|
|
183
|
+
- listitem [ref=e141]:
|
|
184
|
+
- link "Advisories" [ref=e142] [cursor=pointer]:
|
|
185
|
+
- /url: https://github.com/advisories
|
|
186
|
+
- listitem [ref=e143]:
|
|
187
|
+
- link "Status" [ref=e144] [cursor=pointer]:
|
|
188
|
+
- /url: http://status.npmjs.org/
|
|
189
|
+
- listitem [ref=e145]:
|
|
190
|
+
- link "Contact npm" [ref=e146] [cursor=pointer]:
|
|
191
|
+
- /url: /support
|
|
192
|
+
- generic [ref=e147]:
|
|
193
|
+
- heading "Company" [level=3] [ref=e148]
|
|
194
|
+
- list "Company" [ref=e149]:
|
|
195
|
+
- listitem [ref=e150]:
|
|
196
|
+
- link "About" [ref=e151] [cursor=pointer]:
|
|
197
|
+
- /url: /about
|
|
198
|
+
- listitem [ref=e152]:
|
|
199
|
+
- link "Blog" [ref=e153] [cursor=pointer]:
|
|
200
|
+
- /url: https://github.blog/tag/npm/
|
|
201
|
+
- listitem [ref=e154]:
|
|
202
|
+
- link "Press" [ref=e155] [cursor=pointer]:
|
|
203
|
+
- /url: /press
|
|
204
|
+
- generic [ref=e156]:
|
|
205
|
+
- heading "Terms & Policies" [level=3] [ref=e157]
|
|
206
|
+
- list "Terms & Policies" [ref=e158]:
|
|
207
|
+
- listitem [ref=e159]:
|
|
208
|
+
- link "Policies" [ref=e160] [cursor=pointer]:
|
|
209
|
+
- /url: /policies/
|
|
210
|
+
- listitem [ref=e161]:
|
|
211
|
+
- link "Terms of Use" [ref=e162] [cursor=pointer]:
|
|
212
|
+
- /url: /policies/terms
|
|
213
|
+
- listitem [ref=e163]:
|
|
214
|
+
- link "Code of Conduct" [ref=e164] [cursor=pointer]:
|
|
215
|
+
- /url: /policies/conduct
|
|
216
|
+
- listitem [ref=e165]:
|
|
217
|
+
- link "Privacy" [ref=e166] [cursor=pointer]:
|
|
218
|
+
- /url: /policies/privacy
|
|
219
|
+
- generic [ref=e168]: New Granular Access Token
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
- generic [ref=e1]:
|
|
2
|
+
- generic [ref=e3]:
|
|
3
|
+
- region "Site notifications" [ref=e4]:
|
|
4
|
+
- generic [ref=e8]:
|
|
5
|
+
- generic [ref=e9]: ⚠️
|
|
6
|
+
- alert [ref=e11]:
|
|
7
|
+
- text: "Security Update: Classic tokens have been revoked. Granular tokens are now limited to 90 days and require 2FA by default. Update your CI/CD workflows to avoid disruption."
|
|
8
|
+
- link "Learn more about npm authentication changes" [ref=e12] [cursor=pointer]:
|
|
9
|
+
- /url: https://gh.io/all-npm-classic-tokens-revoked
|
|
10
|
+
- text: Learn more
|
|
11
|
+
- text: .
|
|
12
|
+
- button "Close notification" [ref=e13] [cursor=pointer]: ×
|
|
13
|
+
- generic [ref=e14]:
|
|
14
|
+
- banner [ref=e15]:
|
|
15
|
+
- generic [ref=e16]:
|
|
16
|
+
- generic [ref=e17]:
|
|
17
|
+
- text: "skip to:"
|
|
18
|
+
- link "skip to content" [ref=e18] [cursor=pointer]:
|
|
19
|
+
- /url: "#main"
|
|
20
|
+
- text: content
|
|
21
|
+
- link "skip to package search" [ref=e19] [cursor=pointer]:
|
|
22
|
+
- /url: "#search"
|
|
23
|
+
- text: package search
|
|
24
|
+
- generic [ref=e20]:
|
|
25
|
+
- generic [ref=e21]: ❤
|
|
26
|
+
- navigation "Product Navigation" [ref=e22]:
|
|
27
|
+
- list [ref=e23]:
|
|
28
|
+
- listitem [ref=e24]:
|
|
29
|
+
- link "Pro" [ref=e25] [cursor=pointer]:
|
|
30
|
+
- /url: /products/pro
|
|
31
|
+
- listitem [ref=e26]:
|
|
32
|
+
- link "Teams" [ref=e27] [cursor=pointer]:
|
|
33
|
+
- /url: /products/teams
|
|
34
|
+
- listitem [ref=e28]:
|
|
35
|
+
- link "Pricing" [ref=e29] [cursor=pointer]:
|
|
36
|
+
- /url: /products
|
|
37
|
+
- listitem [ref=e30]:
|
|
38
|
+
- link "Documentation" [ref=e31] [cursor=pointer]:
|
|
39
|
+
- /url: https://docs.npmjs.com
|
|
40
|
+
- generic [ref=e33]:
|
|
41
|
+
- generic [ref=e34]: npm
|
|
42
|
+
- link "Npm" [ref=e36] [cursor=pointer]:
|
|
43
|
+
- /url: /
|
|
44
|
+
- img [ref=e37]
|
|
45
|
+
- generic [ref=e40]:
|
|
46
|
+
- generic [ref=e42]:
|
|
47
|
+
- img [ref=e44]
|
|
48
|
+
- combobox "Search packages" [ref=e50]
|
|
49
|
+
- button "Search" [ref=e52]
|
|
50
|
+
- navigation [ref=e54]:
|
|
51
|
+
- button "Profile menu" [ref=e55]:
|
|
52
|
+
- generic [ref=e56]: Menu
|
|
53
|
+
- img [ref=e57]
|
|
54
|
+
- img [ref=e59]
|
|
55
|
+
- main [ref=e62]:
|
|
56
|
+
- generic [ref=e63]:
|
|
57
|
+
- complementary [ref=e64]:
|
|
58
|
+
- heading "Sidebar" [level=2] [ref=e65]
|
|
59
|
+
- generic [ref=e66]:
|
|
60
|
+
- navigation "Settings navigation" [ref=e67]:
|
|
61
|
+
- list [ref=e68]:
|
|
62
|
+
- listitem [ref=e69]:
|
|
63
|
+
- link "Profile" [ref=e70] [cursor=pointer]:
|
|
64
|
+
- /url: /~pedrohnas
|
|
65
|
+
- img [ref=e71]
|
|
66
|
+
- text: Profile
|
|
67
|
+
- listitem [ref=e73]:
|
|
68
|
+
- link "Packages" [ref=e74] [cursor=pointer]:
|
|
69
|
+
- /url: /settings/pedrohnas/packages
|
|
70
|
+
- img [ref=e75]
|
|
71
|
+
- text: Packages
|
|
72
|
+
- listitem [ref=e77]:
|
|
73
|
+
- link "Account" [ref=e78] [cursor=pointer]:
|
|
74
|
+
- /url: /settings/pedrohnas/profile
|
|
75
|
+
- img [ref=e79]
|
|
76
|
+
- text: Account
|
|
77
|
+
- listitem [ref=e81]:
|
|
78
|
+
- link "Billing Info" [ref=e82] [cursor=pointer]:
|
|
79
|
+
- /url: /settings/pedrohnas/billing
|
|
80
|
+
- img [ref=e83]
|
|
81
|
+
- text: Billing Info
|
|
82
|
+
- listitem [ref=e85]:
|
|
83
|
+
- link "Access Tokens" [ref=e86] [cursor=pointer]:
|
|
84
|
+
- /url: /settings/pedrohnas/tokens
|
|
85
|
+
- img [ref=e87]
|
|
86
|
+
- text: Access Tokens
|
|
87
|
+
- generic [ref=e89]:
|
|
88
|
+
- heading "Organizations" [level=3] [ref=e90]
|
|
89
|
+
- link "Create New Organization" [ref=e91] [cursor=pointer]:
|
|
90
|
+
- /url: /org/create
|
|
91
|
+
- text: +
|
|
92
|
+
- generic [ref=e92]: Create New Organization
|
|
93
|
+
- paragraph [ref=e93]: None
|
|
94
|
+
- generic [ref=e169]:
|
|
95
|
+
- generic [ref=e170]:
|
|
96
|
+
- generic [ref=e171]:
|
|
97
|
+
- heading "New Granular Access Token" [level=1] [ref=e172]
|
|
98
|
+
- link "View token documentation" [ref=e173] [cursor=pointer]:
|
|
99
|
+
- /url: https://docs.npmjs.com/creating-and-viewing-access-tokens#creating-granular-access-tokens-on-the-website
|
|
100
|
+
- paragraph [ref=e176]:
|
|
101
|
+
- link "Granular access tokens" [ref=e177] [cursor=pointer]:
|
|
102
|
+
- /url: https://docs.npmjs.com/about-access-tokens#about-granular-access-tokens
|
|
103
|
+
- text: provide the most control by allowing you to configure fine-grained, tightly scoped permissions for your packages and organizations.
|
|
104
|
+
- generic [ref=e178]:
|
|
105
|
+
- generic [ref=e179]:
|
|
106
|
+
- heading "General" [level=2] [ref=e180]
|
|
107
|
+
- generic [ref=e182]:
|
|
108
|
+
- generic [ref=e183]: Token name *
|
|
109
|
+
- caption [ref=e184]: Provide a unique name.
|
|
110
|
+
- textbox "Token name" [ref=e186]: opencode-telegram-publish
|
|
111
|
+
- generic [ref=e187]:
|
|
112
|
+
- generic [ref=e189]: Description (optional)
|
|
113
|
+
- caption [ref=e190]: What is this token for?
|
|
114
|
+
- textbox "Description (optional)" [ref=e192]: Publish @pedrohnas/opencode-telegram from dev machine
|
|
115
|
+
- generic [ref=e193]:
|
|
116
|
+
- generic [ref=e195]:
|
|
117
|
+
- checkbox "Bypass two-factor authentication (2FA) for this token" [checked] [active] [ref=e196]
|
|
118
|
+
- generic [ref=e197]: Bypass two-factor authentication (2FA)
|
|
119
|
+
- paragraph [ref=e256]: There are security risks with this option. For automation or CI/CD uses, please use Trusted Publishing instead.
|
|
120
|
+
- group "Allowed IP ranges (optional) Must be valid CIDR notation." [ref=e198]:
|
|
121
|
+
- generic [ref=e199]:
|
|
122
|
+
- generic [ref=e200]: Allowed IP ranges (optional)
|
|
123
|
+
- caption [ref=e201]:
|
|
124
|
+
- text: Must be valid
|
|
125
|
+
- link "CIDR notation" [ref=e202] [cursor=pointer]:
|
|
126
|
+
- /url: https://docs.npmjs.com/creating-and-viewing-access-tokens/#cidr-restricted-token-errors
|
|
127
|
+
- text: .
|
|
128
|
+
- generic [ref=e204]:
|
|
129
|
+
- text: Input Range 1
|
|
130
|
+
- textbox "Input Range 1" [ref=e205]
|
|
131
|
+
- button "Add IP Range" [ref=e206]
|
|
132
|
+
- generic [ref=e207]:
|
|
133
|
+
- heading "Packages and scopes" [level=2] [ref=e208]
|
|
134
|
+
- generic [ref=e210]:
|
|
135
|
+
- paragraph [ref=e211]: Permissions
|
|
136
|
+
- group [ref=e212]:
|
|
137
|
+
- generic "Packages and scopes Permissions" [ref=e213] [cursor=pointer]:
|
|
138
|
+
- text: No access
|
|
139
|
+
- img [ref=e215]
|
|
140
|
+
- paragraph
|
|
141
|
+
- generic [ref=e218]:
|
|
142
|
+
- heading "Organizations" [level=2] [ref=e219]
|
|
143
|
+
- generic [ref=e221]:
|
|
144
|
+
- paragraph [ref=e222]: Permissions
|
|
145
|
+
- group [ref=e223]:
|
|
146
|
+
- generic "Organizations Permissions" [ref=e224] [cursor=pointer]:
|
|
147
|
+
- text: No access
|
|
148
|
+
- img [ref=e226]
|
|
149
|
+
- paragraph
|
|
150
|
+
- generic [ref=e229]:
|
|
151
|
+
- heading "Expiration" [level=2] [ref=e230]
|
|
152
|
+
- generic [ref=e232]:
|
|
153
|
+
- generic [ref=e233]: Expiration Date
|
|
154
|
+
- group [ref=e236]:
|
|
155
|
+
- generic "Expiration Date" [ref=e237] [cursor=pointer]:
|
|
156
|
+
- text: 30 days
|
|
157
|
+
- img [ref=e239]
|
|
158
|
+
- generic [ref=e242]:
|
|
159
|
+
- heading "Summary" [level=2] [ref=e243]
|
|
160
|
+
- generic [ref=e245]:
|
|
161
|
+
- paragraph [ref=e246]: "This token will:"
|
|
162
|
+
- list [ref=e247]:
|
|
163
|
+
- listitem [ref=e248]: Provide no access to packages and scopes
|
|
164
|
+
- listitem [ref=e249]: Provide no access to organizations
|
|
165
|
+
- listitem [ref=e250]: Expires on Tuesday, March 10, 2026
|
|
166
|
+
- generic [ref=e252]:
|
|
167
|
+
- button "Generate token" [ref=e253]
|
|
168
|
+
- button "Cancel" [ref=e254]
|
|
169
|
+
- contentinfo [ref=e123]:
|
|
170
|
+
- heading "Footer" [level=2] [ref=e124]
|
|
171
|
+
- generic [ref=e125]:
|
|
172
|
+
- generic [ref=e126]:
|
|
173
|
+
- link "Visit npm GitHub page" [ref=e128] [cursor=pointer]:
|
|
174
|
+
- /url: https://github.com/npm
|
|
175
|
+
- img [ref=e129]
|
|
176
|
+
- link "GitHub" [ref=e133] [cursor=pointer]:
|
|
177
|
+
- /url: https://github.com
|
|
178
|
+
- img [ref=e134]
|
|
179
|
+
- generic [ref=e136]:
|
|
180
|
+
- heading "Support" [level=3] [ref=e137]
|
|
181
|
+
- list "Support" [ref=e138]:
|
|
182
|
+
- listitem [ref=e139]:
|
|
183
|
+
- link "Help" [ref=e140] [cursor=pointer]:
|
|
184
|
+
- /url: https://docs.npmjs.com
|
|
185
|
+
- listitem [ref=e141]:
|
|
186
|
+
- link "Advisories" [ref=e142] [cursor=pointer]:
|
|
187
|
+
- /url: https://github.com/advisories
|
|
188
|
+
- listitem [ref=e143]:
|
|
189
|
+
- link "Status" [ref=e144] [cursor=pointer]:
|
|
190
|
+
- /url: http://status.npmjs.org/
|
|
191
|
+
- listitem [ref=e145]:
|
|
192
|
+
- link "Contact npm" [ref=e146] [cursor=pointer]:
|
|
193
|
+
- /url: /support
|
|
194
|
+
- generic [ref=e147]:
|
|
195
|
+
- heading "Company" [level=3] [ref=e148]
|
|
196
|
+
- list "Company" [ref=e149]:
|
|
197
|
+
- listitem [ref=e150]:
|
|
198
|
+
- link "About" [ref=e151] [cursor=pointer]:
|
|
199
|
+
- /url: /about
|
|
200
|
+
- listitem [ref=e152]:
|
|
201
|
+
- link "Blog" [ref=e153] [cursor=pointer]:
|
|
202
|
+
- /url: https://github.blog/tag/npm/
|
|
203
|
+
- listitem [ref=e154]:
|
|
204
|
+
- link "Press" [ref=e155] [cursor=pointer]:
|
|
205
|
+
- /url: /press
|
|
206
|
+
- generic [ref=e156]:
|
|
207
|
+
- heading "Terms & Policies" [level=3] [ref=e157]
|
|
208
|
+
- list "Terms & Policies" [ref=e158]:
|
|
209
|
+
- listitem [ref=e159]:
|
|
210
|
+
- link "Policies" [ref=e160] [cursor=pointer]:
|
|
211
|
+
- /url: /policies/
|
|
212
|
+
- listitem [ref=e161]:
|
|
213
|
+
- link "Terms of Use" [ref=e162] [cursor=pointer]:
|
|
214
|
+
- /url: /policies/terms
|
|
215
|
+
- listitem [ref=e163]:
|
|
216
|
+
- link "Code of Conduct" [ref=e164] [cursor=pointer]:
|
|
217
|
+
- /url: /policies/conduct
|
|
218
|
+
- listitem [ref=e165]:
|
|
219
|
+
- link "Privacy" [ref=e166] [cursor=pointer]:
|
|
220
|
+
- /url: /policies/privacy
|
|
221
|
+
- generic [ref=e168]: New Granular Access Token
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
- generic [ref=e1]:
|
|
2
|
+
- generic [ref=e3]:
|
|
3
|
+
- region "Site notifications" [ref=e4]:
|
|
4
|
+
- generic [ref=e8]:
|
|
5
|
+
- generic [ref=e9]: ⚠️
|
|
6
|
+
- alert [ref=e11]:
|
|
7
|
+
- text: "Security Update: Classic tokens have been revoked. Granular tokens are now limited to 90 days and require 2FA by default. Update your CI/CD workflows to avoid disruption."
|
|
8
|
+
- link "Learn more about npm authentication changes" [ref=e12] [cursor=pointer]:
|
|
9
|
+
- /url: https://gh.io/all-npm-classic-tokens-revoked
|
|
10
|
+
- text: Learn more
|
|
11
|
+
- text: .
|
|
12
|
+
- button "Close notification" [ref=e13] [cursor=pointer]: ×
|
|
13
|
+
- generic [ref=e14]:
|
|
14
|
+
- banner [ref=e15]:
|
|
15
|
+
- generic [ref=e16]:
|
|
16
|
+
- generic [ref=e17]:
|
|
17
|
+
- text: "skip to:"
|
|
18
|
+
- link "skip to content" [ref=e18] [cursor=pointer]:
|
|
19
|
+
- /url: "#main"
|
|
20
|
+
- text: content
|
|
21
|
+
- link "skip to package search" [ref=e19] [cursor=pointer]:
|
|
22
|
+
- /url: "#search"
|
|
23
|
+
- text: package search
|
|
24
|
+
- generic [ref=e20]:
|
|
25
|
+
- generic [ref=e21]: ❤
|
|
26
|
+
- navigation "Product Navigation" [ref=e22]:
|
|
27
|
+
- list [ref=e23]:
|
|
28
|
+
- listitem [ref=e24]:
|
|
29
|
+
- link "Pro" [ref=e25] [cursor=pointer]:
|
|
30
|
+
- /url: /products/pro
|
|
31
|
+
- listitem [ref=e26]:
|
|
32
|
+
- link "Teams" [ref=e27] [cursor=pointer]:
|
|
33
|
+
- /url: /products/teams
|
|
34
|
+
- listitem [ref=e28]:
|
|
35
|
+
- link "Pricing" [ref=e29] [cursor=pointer]:
|
|
36
|
+
- /url: /products
|
|
37
|
+
- listitem [ref=e30]:
|
|
38
|
+
- link "Documentation" [ref=e31] [cursor=pointer]:
|
|
39
|
+
- /url: https://docs.npmjs.com
|
|
40
|
+
- generic [ref=e33]:
|
|
41
|
+
- generic [ref=e34]: npm
|
|
42
|
+
- link "Npm" [ref=e36] [cursor=pointer]:
|
|
43
|
+
- /url: /
|
|
44
|
+
- img [ref=e37]
|
|
45
|
+
- generic [ref=e40]:
|
|
46
|
+
- generic [ref=e42]:
|
|
47
|
+
- img [ref=e44]
|
|
48
|
+
- combobox "Search packages" [ref=e50]
|
|
49
|
+
- button "Search" [ref=e52]
|
|
50
|
+
- navigation [ref=e54]:
|
|
51
|
+
- button "Profile menu" [ref=e55]:
|
|
52
|
+
- generic [ref=e56]: Menu
|
|
53
|
+
- img [ref=e57]
|
|
54
|
+
- img [ref=e59]
|
|
55
|
+
- main [ref=e62]:
|
|
56
|
+
- generic [ref=e63]:
|
|
57
|
+
- complementary [ref=e64]:
|
|
58
|
+
- heading "Sidebar" [level=2] [ref=e65]
|
|
59
|
+
- generic [ref=e66]:
|
|
60
|
+
- navigation "Settings navigation" [ref=e67]:
|
|
61
|
+
- list [ref=e68]:
|
|
62
|
+
- listitem [ref=e69]:
|
|
63
|
+
- link "Profile" [ref=e70] [cursor=pointer]:
|
|
64
|
+
- /url: /~pedrohnas
|
|
65
|
+
- img [ref=e71]
|
|
66
|
+
- text: Profile
|
|
67
|
+
- listitem [ref=e73]:
|
|
68
|
+
- link "Packages" [ref=e74] [cursor=pointer]:
|
|
69
|
+
- /url: /settings/pedrohnas/packages
|
|
70
|
+
- img [ref=e75]
|
|
71
|
+
- text: Packages
|
|
72
|
+
- listitem [ref=e77]:
|
|
73
|
+
- link "Account" [ref=e78] [cursor=pointer]:
|
|
74
|
+
- /url: /settings/pedrohnas/profile
|
|
75
|
+
- img [ref=e79]
|
|
76
|
+
- text: Account
|
|
77
|
+
- listitem [ref=e81]:
|
|
78
|
+
- link "Billing Info" [ref=e82] [cursor=pointer]:
|
|
79
|
+
- /url: /settings/pedrohnas/billing
|
|
80
|
+
- img [ref=e83]
|
|
81
|
+
- text: Billing Info
|
|
82
|
+
- listitem [ref=e85]:
|
|
83
|
+
- link "Access Tokens" [ref=e86] [cursor=pointer]:
|
|
84
|
+
- /url: /settings/pedrohnas/tokens
|
|
85
|
+
- img [ref=e87]
|
|
86
|
+
- text: Access Tokens
|
|
87
|
+
- generic [ref=e89]:
|
|
88
|
+
- heading "Organizations" [level=3] [ref=e90]
|
|
89
|
+
- link "Create New Organization" [ref=e91] [cursor=pointer]:
|
|
90
|
+
- /url: /org/create
|
|
91
|
+
- text: +
|
|
92
|
+
- generic [ref=e92]: Create New Organization
|
|
93
|
+
- paragraph [ref=e93]: None
|
|
94
|
+
- generic [ref=e169]:
|
|
95
|
+
- generic [ref=e170]:
|
|
96
|
+
- generic [ref=e171]:
|
|
97
|
+
- heading "New Granular Access Token" [level=1] [ref=e172]
|
|
98
|
+
- link "View token documentation" [ref=e173] [cursor=pointer]:
|
|
99
|
+
- /url: https://docs.npmjs.com/creating-and-viewing-access-tokens#creating-granular-access-tokens-on-the-website
|
|
100
|
+
- paragraph [ref=e176]:
|
|
101
|
+
- link "Granular access tokens" [ref=e177] [cursor=pointer]:
|
|
102
|
+
- /url: https://docs.npmjs.com/about-access-tokens#about-granular-access-tokens
|
|
103
|
+
- text: provide the most control by allowing you to configure fine-grained, tightly scoped permissions for your packages and organizations.
|
|
104
|
+
- generic [ref=e178]:
|
|
105
|
+
- generic [ref=e179]:
|
|
106
|
+
- heading "General" [level=2] [ref=e180]
|
|
107
|
+
- generic [ref=e182]:
|
|
108
|
+
- generic [ref=e183]: Token name *
|
|
109
|
+
- caption [ref=e184]: Provide a unique name.
|
|
110
|
+
- textbox "Token name" [ref=e186]: opencode-telegram-publish
|
|
111
|
+
- generic [ref=e187]:
|
|
112
|
+
- generic [ref=e189]: Description (optional)
|
|
113
|
+
- caption [ref=e190]: What is this token for?
|
|
114
|
+
- textbox "Description (optional)" [ref=e192]: Publish @pedrohnas/opencode-telegram from dev machine
|
|
115
|
+
- generic [ref=e193]:
|
|
116
|
+
- generic [ref=e195]:
|
|
117
|
+
- checkbox "Bypass two-factor authentication (2FA) for this token" [checked] [ref=e196]
|
|
118
|
+
- generic [ref=e197]: Bypass two-factor authentication (2FA)
|
|
119
|
+
- paragraph [ref=e256]: There are security risks with this option. For automation or CI/CD uses, please use Trusted Publishing instead.
|
|
120
|
+
- group "Allowed IP ranges (optional) Must be valid CIDR notation." [ref=e198]:
|
|
121
|
+
- generic [ref=e199]:
|
|
122
|
+
- generic [ref=e200]: Allowed IP ranges (optional)
|
|
123
|
+
- caption [ref=e201]:
|
|
124
|
+
- text: Must be valid
|
|
125
|
+
- link "CIDR notation" [ref=e202] [cursor=pointer]:
|
|
126
|
+
- /url: https://docs.npmjs.com/creating-and-viewing-access-tokens/#cidr-restricted-token-errors
|
|
127
|
+
- text: .
|
|
128
|
+
- generic [ref=e204]:
|
|
129
|
+
- text: Input Range 1
|
|
130
|
+
- textbox "Input Range 1" [ref=e205]
|
|
131
|
+
- button "Add IP Range" [ref=e206]
|
|
132
|
+
- generic [ref=e207]:
|
|
133
|
+
- heading "Packages and scopes" [level=2] [ref=e208]
|
|
134
|
+
- generic [ref=e210]:
|
|
135
|
+
- paragraph [ref=e211]: Permissions
|
|
136
|
+
- group [ref=e212]:
|
|
137
|
+
- generic "Packages and scopes Permissions" [active] [ref=e213] [cursor=pointer]:
|
|
138
|
+
- text: No access
|
|
139
|
+
- img [ref=e215]
|
|
140
|
+
- menu:
|
|
141
|
+
- generic [ref=e258]:
|
|
142
|
+
- menuitemcheckbox "No access" [checked] [ref=e259] [cursor=pointer]:
|
|
143
|
+
- img [ref=e260]
|
|
144
|
+
- generic [ref=e262]: No access
|
|
145
|
+
- menuitemcheckbox "Read only" [ref=e263] [cursor=pointer]:
|
|
146
|
+
- generic [ref=e264]: Read only
|
|
147
|
+
- menuitemcheckbox "Read and write" [ref=e265] [cursor=pointer]:
|
|
148
|
+
- generic [ref=e266]: Read and write
|
|
149
|
+
- paragraph
|
|
150
|
+
- generic [ref=e218]:
|
|
151
|
+
- heading "Organizations" [level=2] [ref=e219]
|
|
152
|
+
- generic [ref=e221]:
|
|
153
|
+
- paragraph [ref=e222]: Permissions
|
|
154
|
+
- group [ref=e223]:
|
|
155
|
+
- generic "Organizations Permissions" [ref=e224] [cursor=pointer]:
|
|
156
|
+
- text: No access
|
|
157
|
+
- img [ref=e226]
|
|
158
|
+
- paragraph
|
|
159
|
+
- generic [ref=e229]:
|
|
160
|
+
- heading "Expiration" [level=2] [ref=e230]
|
|
161
|
+
- generic [ref=e232]:
|
|
162
|
+
- generic [ref=e233]: Expiration Date
|
|
163
|
+
- group [ref=e236]:
|
|
164
|
+
- generic "Expiration Date" [ref=e237] [cursor=pointer]:
|
|
165
|
+
- text: 30 days
|
|
166
|
+
- img [ref=e239]
|
|
167
|
+
- generic [ref=e242]:
|
|
168
|
+
- heading "Summary" [level=2] [ref=e243]
|
|
169
|
+
- generic [ref=e245]:
|
|
170
|
+
- paragraph [ref=e246]: "This token will:"
|
|
171
|
+
- list [ref=e247]:
|
|
172
|
+
- listitem [ref=e248]: Provide no access to packages and scopes
|
|
173
|
+
- listitem [ref=e249]: Provide no access to organizations
|
|
174
|
+
- listitem [ref=e250]: Expires on Tuesday, March 10, 2026
|
|
175
|
+
- generic [ref=e252]:
|
|
176
|
+
- button "Generate token" [ref=e253]
|
|
177
|
+
- button "Cancel" [ref=e254]
|
|
178
|
+
- contentinfo [ref=e123]:
|
|
179
|
+
- heading "Footer" [level=2] [ref=e124]
|
|
180
|
+
- generic [ref=e125]:
|
|
181
|
+
- generic [ref=e126]:
|
|
182
|
+
- link "Visit npm GitHub page" [ref=e128] [cursor=pointer]:
|
|
183
|
+
- /url: https://github.com/npm
|
|
184
|
+
- img [ref=e129]
|
|
185
|
+
- link "GitHub" [ref=e133] [cursor=pointer]:
|
|
186
|
+
- /url: https://github.com
|
|
187
|
+
- img [ref=e134]
|
|
188
|
+
- generic [ref=e136]:
|
|
189
|
+
- heading "Support" [level=3] [ref=e137]
|
|
190
|
+
- list "Support" [ref=e138]:
|
|
191
|
+
- listitem [ref=e139]:
|
|
192
|
+
- link "Help" [ref=e140] [cursor=pointer]:
|
|
193
|
+
- /url: https://docs.npmjs.com
|
|
194
|
+
- listitem [ref=e141]:
|
|
195
|
+
- link "Advisories" [ref=e142] [cursor=pointer]:
|
|
196
|
+
- /url: https://github.com/advisories
|
|
197
|
+
- listitem [ref=e143]:
|
|
198
|
+
- link "Status" [ref=e144] [cursor=pointer]:
|
|
199
|
+
- /url: http://status.npmjs.org/
|
|
200
|
+
- listitem [ref=e145]:
|
|
201
|
+
- link "Contact npm" [ref=e146] [cursor=pointer]:
|
|
202
|
+
- /url: /support
|
|
203
|
+
- generic [ref=e147]:
|
|
204
|
+
- heading "Company" [level=3] [ref=e148]
|
|
205
|
+
- list "Company" [ref=e149]:
|
|
206
|
+
- listitem [ref=e150]:
|
|
207
|
+
- link "About" [ref=e151] [cursor=pointer]:
|
|
208
|
+
- /url: /about
|
|
209
|
+
- listitem [ref=e152]:
|
|
210
|
+
- link "Blog" [ref=e153] [cursor=pointer]:
|
|
211
|
+
- /url: https://github.blog/tag/npm/
|
|
212
|
+
- listitem [ref=e154]:
|
|
213
|
+
- link "Press" [ref=e155] [cursor=pointer]:
|
|
214
|
+
- /url: /press
|
|
215
|
+
- generic [ref=e156]:
|
|
216
|
+
- heading "Terms & Policies" [level=3] [ref=e157]
|
|
217
|
+
- list "Terms & Policies" [ref=e158]:
|
|
218
|
+
- listitem [ref=e159]:
|
|
219
|
+
- link "Policies" [ref=e160] [cursor=pointer]:
|
|
220
|
+
- /url: /policies/
|
|
221
|
+
- listitem [ref=e161]:
|
|
222
|
+
- link "Terms of Use" [ref=e162] [cursor=pointer]:
|
|
223
|
+
- /url: /policies/terms
|
|
224
|
+
- listitem [ref=e163]:
|
|
225
|
+
- link "Code of Conduct" [ref=e164] [cursor=pointer]:
|
|
226
|
+
- /url: /policies/conduct
|
|
227
|
+
- listitem [ref=e165]:
|
|
228
|
+
- link "Privacy" [ref=e166] [cursor=pointer]:
|
|
229
|
+
- /url: /policies/privacy
|
|
230
|
+
- generic [ref=e168]: New Granular Access Token
|