agentfootprint 9.8.0 → 9.9.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.
Files changed (83) hide show
  1. package/dist/adapters/observability/audit.js +2 -28
  2. package/dist/adapters/observability/audit.js.map +1 -1
  3. package/dist/adapters/observability/githubBugReporter.js +461 -0
  4. package/dist/adapters/observability/githubBugReporter.js.map +1 -0
  5. package/dist/adapters/observability/githubDeviceSignIn.js +263 -0
  6. package/dist/adapters/observability/githubDeviceSignIn.js.map +1 -0
  7. package/dist/esm/adapters/observability/audit.js +1 -27
  8. package/dist/esm/adapters/observability/audit.js.map +1 -1
  9. package/dist/esm/adapters/observability/githubBugReporter.d.ts +154 -0
  10. package/dist/esm/adapters/observability/githubBugReporter.js +457 -0
  11. package/dist/esm/adapters/observability/githubBugReporter.js.map +1 -0
  12. package/dist/esm/adapters/observability/githubDeviceSignIn.d.ts +131 -0
  13. package/dist/esm/adapters/observability/githubDeviceSignIn.js +259 -0
  14. package/dist/esm/adapters/observability/githubDeviceSignIn.js.map +1 -0
  15. package/dist/esm/lib/bug-report/build.d.ts +103 -0
  16. package/dist/esm/lib/bug-report/build.js +648 -0
  17. package/dist/esm/lib/bug-report/build.js.map +1 -0
  18. package/dist/esm/lib/bug-report/index.d.ts +14 -0
  19. package/dist/esm/lib/bug-report/index.js +13 -0
  20. package/dist/esm/lib/bug-report/index.js.map +1 -0
  21. package/dist/esm/lib/bug-report/transcript.d.ts +61 -0
  22. package/dist/esm/lib/bug-report/transcript.js +124 -0
  23. package/dist/esm/lib/bug-report/transcript.js.map +1 -0
  24. package/dist/esm/lib/bug-report/types.d.ts +206 -0
  25. package/dist/esm/lib/bug-report/types.js +12 -0
  26. package/dist/esm/lib/bug-report/types.js.map +1 -0
  27. package/dist/esm/lib/bug-report/zip.d.ts +71 -0
  28. package/dist/esm/lib/bug-report/zip.js +202 -0
  29. package/dist/esm/lib/bug-report/zip.js.map +1 -0
  30. package/dist/esm/lib/libraryVersion.d.ts +23 -0
  31. package/dist/esm/lib/libraryVersion.js +46 -0
  32. package/dist/esm/lib/libraryVersion.js.map +1 -0
  33. package/dist/esm/lib/trace-toolpack/openRecording.d.ts +17 -0
  34. package/dist/esm/lib/trace-toolpack/openRecording.js +8 -2
  35. package/dist/esm/lib/trace-toolpack/openRecording.js.map +1 -1
  36. package/dist/esm/observability-providers.d.ts +2 -0
  37. package/dist/esm/observability-providers.js +9 -0
  38. package/dist/esm/observability-providers.js.map +1 -1
  39. package/dist/esm/observe.d.ts +1 -0
  40. package/dist/esm/observe.js +6 -0
  41. package/dist/esm/observe.js.map +1 -1
  42. package/dist/lib/bug-report/build.js +656 -0
  43. package/dist/lib/bug-report/build.js.map +1 -0
  44. package/dist/lib/bug-report/index.js +18 -0
  45. package/dist/lib/bug-report/index.js.map +1 -0
  46. package/dist/lib/bug-report/transcript.js +128 -0
  47. package/dist/lib/bug-report/transcript.js.map +1 -0
  48. package/dist/lib/bug-report/types.js +13 -0
  49. package/dist/lib/bug-report/types.js.map +1 -0
  50. package/dist/lib/bug-report/zip.js +207 -0
  51. package/dist/lib/bug-report/zip.js.map +1 -0
  52. package/dist/lib/libraryVersion.js +51 -0
  53. package/dist/lib/libraryVersion.js.map +1 -0
  54. package/dist/lib/trace-toolpack/openRecording.js +9 -2
  55. package/dist/lib/trace-toolpack/openRecording.js.map +1 -1
  56. package/dist/observability-providers.js +12 -1
  57. package/dist/observability-providers.js.map +1 -1
  58. package/dist/observe.js +14 -6
  59. package/dist/observe.js.map +1 -1
  60. package/dist/types/adapters/observability/audit.d.ts.map +1 -1
  61. package/dist/types/adapters/observability/githubBugReporter.d.ts +155 -0
  62. package/dist/types/adapters/observability/githubBugReporter.d.ts.map +1 -0
  63. package/dist/types/adapters/observability/githubDeviceSignIn.d.ts +132 -0
  64. package/dist/types/adapters/observability/githubDeviceSignIn.d.ts.map +1 -0
  65. package/dist/types/lib/bug-report/build.d.ts +104 -0
  66. package/dist/types/lib/bug-report/build.d.ts.map +1 -0
  67. package/dist/types/lib/bug-report/index.d.ts +15 -0
  68. package/dist/types/lib/bug-report/index.d.ts.map +1 -0
  69. package/dist/types/lib/bug-report/transcript.d.ts +62 -0
  70. package/dist/types/lib/bug-report/transcript.d.ts.map +1 -0
  71. package/dist/types/lib/bug-report/types.d.ts +207 -0
  72. package/dist/types/lib/bug-report/types.d.ts.map +1 -0
  73. package/dist/types/lib/bug-report/zip.d.ts +72 -0
  74. package/dist/types/lib/bug-report/zip.d.ts.map +1 -0
  75. package/dist/types/lib/libraryVersion.d.ts +24 -0
  76. package/dist/types/lib/libraryVersion.d.ts.map +1 -0
  77. package/dist/types/lib/trace-toolpack/openRecording.d.ts +17 -0
  78. package/dist/types/lib/trace-toolpack/openRecording.d.ts.map +1 -1
  79. package/dist/types/observability-providers.d.ts +2 -0
  80. package/dist/types/observability-providers.d.ts.map +1 -1
  81. package/dist/types/observe.d.ts +1 -0
  82. package/dist/types/observe.d.ts.map +1 -1
  83. package/package.json +1 -1
@@ -134,6 +134,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
134
134
  exports.verifyAuditBundle = exports.auditExport = exports.AUDIT_BUNDLE_FORMAT = exports.AUDIT_GENESIS_EVENT_TYPE = exports.AUDIT_ZERO_HASH = void 0;
135
135
  const canonicalJson_js_1 = require("../../lib/canonicalJson.js");
136
136
  const lazyRequire_js_1 = require("../../lib/lazyRequire.js");
137
+ const libraryVersion_js_1 = require("../../lib/libraryVersion.js");
137
138
  // ─── Public types ─────────────────────────────────────────────────────
138
139
  /** SHA-256 of "nothing" — the `prevHash` of the first record in a
139
140
  * chain and the `chainHead` of a chain's first segment. */
@@ -164,33 +165,6 @@ function resolveCrypto() {
164
165
  function sha256Hex(text) {
165
166
  return resolveCrypto().createHash('sha256').update(text, 'utf8').digest('hex');
166
167
  }
167
- /** Best-effort library version for header + genesis.
168
- *
169
- * Tries the package self-reference first (`exports["./package.json"]`
170
- * — resolves from source and the CJS build), then relative paths to
171
- * the root manifest (the ESM build sits under `dist/esm/`, whose
172
- * type-stamp `package.json` has no `name`, which breaks Node's
173
- * self-reference scope; relative specifiers resolve from
174
- * `lib/lazyRequire` — `../../` from `src//dist/lib`, `../../../`
175
- * from `dist/esm/lib`). The `name` guard rejects any manifest that
176
- * isn't actually ours. 'unknown' where nothing resolves (bundlers). */
177
- function libraryVersion() {
178
- for (const specifier of [
179
- 'agentfootprint/package.json',
180
- '../../package.json',
181
- '../../../package.json',
182
- ]) {
183
- try {
184
- const pkg = (0, lazyRequire_js_1.lazyRequire)(specifier);
185
- if (pkg.name === 'agentfootprint' && typeof pkg.version === 'string')
186
- return pkg.version;
187
- }
188
- catch {
189
- /* try the next candidate */
190
- }
191
- }
192
- return 'unknown';
193
- }
194
168
  // ─── JSON sanitization (both modes) ──────────────────────────────────
195
169
  /** Caps mirror otel.ts's bounding discipline (defense-in-depth — the
196
170
  * registry payloads are mostly bounded upstream). */
@@ -341,7 +315,7 @@ const TOKEN_EVENT_TYPES = new Set([
341
315
  function auditExport(opts = {}) {
342
316
  const payloadMode = opts.payloadMode ?? 'bounded';
343
317
  const includeTokenEvents = opts.includeTokenEvents === true;
344
- const version = libraryVersion();
318
+ const version = (0, libraryVersion_js_1.libraryVersion)();
345
319
  // Chain state — survives drains; one chain per strategy instance.
346
320
  let nextSeq = 0;
347
321
  let lastHash = exports.AUDIT_ZERO_HASH;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/adapters/observability/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/adapters/observability/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,461 @@
1
+ "use strict";
2
+ /**
3
+ * githubBugReporter — file a bug report, with the run attached, into GitHub.
4
+ *
5
+ * import { exportBugReport, githubBugReporter } from 'agentfootprint/observe';
6
+ *
7
+ * const reporter = githubBugReporter({
8
+ * issueRepo: 'acme/checkout-agent', // where the ISSUE goes
9
+ * evidenceRepo: 'acme/agent-evidence', // where the ZIP goes (default: issueRepo)
10
+ * }); // token: GITHUB_TOKEN, or `token`
11
+ *
12
+ * const { issueUrl, zipUrl } = await reporter.file(report);
13
+ *
14
+ * Two HTTP calls and no SDK: `PUT /repos/{evidenceRepo}/contents/{path}` commits
15
+ * the zip, `POST /repos/{issueRepo}/issues` files the issue with a manifest
16
+ * table and a link to the committed bundle. Plain `fetch`, zero dependencies,
17
+ * `apiBase` for GitHub Enterprise Server — so this works unchanged on a network
18
+ * that never reaches github.com.
19
+ *
20
+ * ## TWIN TARGETS: the issue and the evidence may live in different repos
21
+ *
22
+ * The case this exists for: a field tester finds a bug in a LIBRARY. The issue
23
+ * belongs in the library's public repo, where the maintainers and the next
24
+ * person to hit it will find it. The evidence — a real run, with real prompts,
25
+ * real tool arguments and real retrieved documents — does not. So the zip goes
26
+ * into a PRIVATE repo the maintainers can read, and the issue links it and says
27
+ * plainly that the evidence is private.
28
+ *
29
+ * ```ts
30
+ * githubBugReporter({
31
+ * issueRepo: 'footprintjs/agentfootprint', // public — the conversation
32
+ * evidenceRepo: 'acme/af-bug-evidence', // private — the run
33
+ * });
34
+ * ```
35
+ *
36
+ * ## DEFAULT-TARGET DOCTRINE
37
+ *
38
+ * **File into the application's OWN repo.** That is the default (`evidenceRepo`
39
+ * defaults to `issueRepo`) and it is the right default: the run belongs to the
40
+ * organisation that produced it. Sending a run's evidence across an
41
+ * organisational boundary — to a vendor, to an upstream library, to anyone
42
+ * whose access your company did not grant — is a HUMAN act with consequences a
43
+ * library cannot weigh. This adapter will do it, because a field tester filing
44
+ * upstream is a real and valuable thing; it will not do it quietly. The
45
+ * consent manifest (`describeBugReport`) exists so a person sees exactly what
46
+ * would leave before it does, and this reporter refuses to commit evidence to a
47
+ * PUBLIC repo unless the caller says `acknowledgePublicEvidence: true` out loud.
48
+ *
49
+ * ## Provisioning the token: fine-grained, and scoped to two repos
50
+ *
51
+ * Use a **fine-grained personal access token** (GitHub → Settings → Developer
52
+ * settings → Fine-grained tokens), scoped to ONLY `issueRepo` and
53
+ * `evidenceRepo`, with exactly two permissions — **Contents: read and write**
54
+ * (to commit the zip) and **Issues: read and write** (to file the issue) — and
55
+ * an expiry date. Put it in the server's environment as `GITHUB_TOKEN`, or pass
56
+ * it as `token`.
57
+ *
58
+ * The contrast matters: a CLASSIC PAT's `repo` scope is coarse — it grants
59
+ * read/write across every repository the account can reach, so a leaked
60
+ * bug-report token is a leaked key to the whole account. With a fine-grained
61
+ * token scoped as above, the blast radius of a leak is filing bug reports and
62
+ * committing files to one evidence repo, and nothing else. GitHub App
63
+ * installation tokens (short-lived, org-installed, revocable centrally) are the
64
+ * next rung for an organisation that wants one; this adapter does not mint
65
+ * them — hand it the token your app already obtained.
66
+ *
67
+ * ## Secrecy (the two-clause law)
68
+ *
69
+ * The token appears in no message, no error and no log this adapter can
70
+ * produce, and neither does the bundle's content. A failed request is reported
71
+ * as **the status and GitHub's own `message` field** — never the request, never
72
+ * the headers, never the body that carried the token, never a byte of
73
+ * evidence. Transport failures are re-wrapped rather than rethrown, because a
74
+ * `fetch` implementation is free to put the request (headers included) into the
75
+ * error it throws. Nothing here writes to a console. Pinned by a suite that
76
+ * forces every failure path and greps the message, the stack and the JSON
77
+ * projection for the token.
78
+ *
79
+ * @example A server route (the app's own repo, the default target)
80
+ * ```ts
81
+ * const reporter = githubBugReporter({ issueRepo: 'acme/checkout-agent' });
82
+ * app.post('/bug-report', async (req, res) => {
83
+ * const report = exportBugReport(recordings.get(req.body.runId), req.body.fields);
84
+ * res.json(await reporter.file(report));
85
+ * });
86
+ * ```
87
+ */
88
+ Object.defineProperty(exports, "__esModule", { value: true });
89
+ exports.githubBugReporter = void 0;
90
+ const build_js_1 = require("../../lib/bug-report/build.js");
91
+ /** GitHub's own ceiling for a file committed through the contents API is 100 MB,
92
+ * but an issue attachment that large is not a bug report anybody opens. 24 MB
93
+ * keeps a bundle inside every practical limit including the 25 MB the web UI
94
+ * accepts for a drag-and-dropped file. */
95
+ const DEFAULT_MAX_ZIP_BYTES = 24 * 1024 * 1024;
96
+ const DEFAULT_API_BASE = 'https://api.github.com';
97
+ const FINE_GRAINED_TOKEN_PAGE = 'Settings → Developer settings → Fine-grained tokens';
98
+ function githubBugReporter(options) {
99
+ const issueRepo = checkedRepo(options.issueRepo, 'issueRepo');
100
+ const evidenceRepo = options.evidenceRepo
101
+ ? checkedRepo(options.evidenceRepo, 'evidenceRepo')
102
+ : issueRepo;
103
+ const token = options.token ?? readEnv('GITHUB_TOKEN');
104
+ if (!token) {
105
+ throw new TypeError('githubBugReporter: no GitHub token. Pass `token`, or set the GITHUB_TOKEN environment ' +
106
+ 'variable on the server (a token belongs in the environment, not in the option in a ' +
107
+ `committed config file). Make it a FINE-GRAINED token — ${FINE_GRAINED_TOKEN_PAGE} — ` +
108
+ `scoped to just ${evidenceRepo === issueRepo ? issueRepo : `${issueRepo} and ${evidenceRepo}`}, ` +
109
+ 'with Contents: read/write and Issues: read/write, and an expiry date. A classic PAT ' +
110
+ "grants those permissions across every repo the account can reach; this token's " +
111
+ 'blast radius should be filing bug reports and nothing else.');
112
+ }
113
+ const apiBase = (options.apiBase ?? DEFAULT_API_BASE).replace(/\/+$/, '');
114
+ const dir = (options.dir ?? 'bug-reports').replace(/^\/+|\/+$/g, '');
115
+ const maxZipBytes = options.maxZipBytes ?? DEFAULT_MAX_ZIP_BYTES;
116
+ const doFetch = options._fetch ?? ((...args) => fetch(...args));
117
+ return {
118
+ async file(report) {
119
+ if (!report || !(report.zip instanceof Uint8Array) || !report.manifest) {
120
+ throw new TypeError('githubBugReporter.file: expected the object exportBugReport() returns ' +
121
+ '({ manifest, files, zip, filename }).');
122
+ }
123
+ // 1. SIZE, before a byte moves. Refusing after a 24 MB upload wastes the
124
+ // reporter's time and GitHub's, and the manifest already computed the
125
+ // way out.
126
+ if (report.zip.length > maxZipBytes) {
127
+ throw new Error(`githubBugReporter: refusing to upload a ${(0, build_js_1.formatBytes)(report.zip.length)} bundle — ` +
128
+ `the ceiling is ${(0, build_js_1.formatBytes)(maxZipBytes)}. GitHub accepts far larger files through the ` +
129
+ `contents API, but a bundle this size is not one a maintainer opens. Send fewer ` +
130
+ `units: ${trimAdvice(report)}`);
131
+ }
132
+ // 2. VISIBILITY. The doctrine's teeth: evidence is a real run, and a
133
+ // public repo publishes it permanently.
134
+ const visibility = await readVisibility({ apiBase, evidenceRepo, token, doFetch });
135
+ if (visibility.checked &&
136
+ visibility.isPrivate === false &&
137
+ !options.acknowledgePublicEvidence) {
138
+ throw new Error(`githubBugReporter: refusing to commit evidence to '${evidenceRepo}', which is a ` +
139
+ `PUBLIC repository. A bug-report bundle carries a real run — prompts, tool ` +
140
+ `arguments, retrieved documents — and committing it here publishes all of it ` +
141
+ `permanently. Point \`evidenceRepo\` at a private repo the maintainers can read ` +
142
+ `(the issue can still go to the public one), or pass ` +
143
+ `\`acknowledgePublicEvidence: true\` if this is intended.`);
144
+ }
145
+ // 3. COMMIT the zip.
146
+ const uploaded = await uploadZip({
147
+ apiBase,
148
+ evidenceRepo,
149
+ dir,
150
+ token,
151
+ doFetch,
152
+ report,
153
+ ...(options.branch !== undefined && { branch: options.branch }),
154
+ });
155
+ // 4. FILE the issue, pointing at it.
156
+ const issueUrl = await createIssue({
157
+ apiBase,
158
+ issueRepo,
159
+ token,
160
+ doFetch,
161
+ report,
162
+ zipUrl: uploaded.zipUrl,
163
+ zipPath: uploaded.zipPath,
164
+ evidenceRepo,
165
+ crossRepo: evidenceRepo !== issueRepo,
166
+ evidencePrivate: visibility.checked ? visibility.isPrivate : undefined,
167
+ ...(options.labels !== undefined && { labels: options.labels }),
168
+ });
169
+ return {
170
+ issueUrl,
171
+ zipUrl: uploaded.zipUrl,
172
+ zipPath: uploaded.zipPath,
173
+ evidenceRepo,
174
+ checkedVisibility: visibility.checked,
175
+ ...(visibility.checked && { evidenceRepoPrivate: visibility.isPrivate }),
176
+ };
177
+ },
178
+ };
179
+ }
180
+ exports.githubBugReporter = githubBugReporter;
181
+ /**
182
+ * Read the evidence repo's visibility.
183
+ *
184
+ * Never blocks on a permissions quirk: a token with `contents: write` but no
185
+ * metadata read is a legitimate configuration, and a bug report that cannot be
186
+ * filed because a GUARD could not run has failed at its one job. The result
187
+ * carries `checked: false` so the caller learns the guard was skipped.
188
+ */
189
+ async function readVisibility(args) {
190
+ try {
191
+ const res = await args.doFetch(`${args.apiBase}/repos/${args.evidenceRepo}`, {
192
+ method: 'GET',
193
+ headers: githubHeaders(args.token),
194
+ });
195
+ if (!res.ok)
196
+ return { checked: false, isPrivate: false };
197
+ const body = (await res.json());
198
+ if (typeof body?.private !== 'boolean')
199
+ return { checked: false, isPrivate: false };
200
+ return { checked: true, isPrivate: body.private };
201
+ }
202
+ catch {
203
+ // A transport failure here is not the report's problem, and the error is
204
+ // deliberately not propagated — it is the one place where a thrown fetch
205
+ // could carry request headers into a message.
206
+ return { checked: false, isPrivate: false };
207
+ }
208
+ }
209
+ /** Commit the zip, suffixing the name if that path is already taken. */
210
+ async function uploadZip(args) {
211
+ const base = args.report.filename.replace(/\.zip$/, '');
212
+ const content = toBase64(args.report.zip);
213
+ const title = args.report.manifest.report?.title ?? 'bug report';
214
+ // A name collision is ordinary (two reports of the same bug on the same day),
215
+ // and GitHub answers a create-without-sha on an existing path with 409/422.
216
+ // Suffix and retry rather than overwrite: the earlier bundle is somebody
217
+ // else's evidence.
218
+ for (let attempt = 1; attempt <= 5; attempt++) {
219
+ const path = `${args.dir}/${base}-${shortId()}.zip`;
220
+ const res = await request({
221
+ ...args,
222
+ url: `${args.apiBase}/repos/${args.evidenceRepo}/contents/${encodePath(path)}`,
223
+ method: 'PUT',
224
+ body: {
225
+ message: `bug report: ${title}`,
226
+ content,
227
+ ...(args.branch !== undefined && { branch: args.branch }),
228
+ },
229
+ what: `commit the evidence bundle to '${args.evidenceRepo}'`,
230
+ allowStatuses: [409, 422],
231
+ });
232
+ if (res.ok) {
233
+ const body = res.body;
234
+ const htmlUrl = typeof body?.content?.html_url === 'string'
235
+ ? body.content.html_url
236
+ : `https://github.com/${args.evidenceRepo}/blob/HEAD/${path}`;
237
+ return { zipUrl: htmlUrl, zipPath: path };
238
+ }
239
+ if (attempt === 5) {
240
+ throw new Error(`githubBugReporter: could not commit the evidence bundle to '${args.evidenceRepo}' — ` +
241
+ `five names in '${args.dir}/' were already taken (GitHub answered ${res.status}: ` +
242
+ `${res.message}). Check that the token has Contents: read/write there, or set ` +
243
+ `\`dir\` to somewhere less crowded.`);
244
+ }
245
+ }
246
+ /* istanbul ignore next — the loop always returns or throws. */
247
+ throw new Error('githubBugReporter: unreachable');
248
+ }
249
+ async function createIssue(args) {
250
+ const res = await request({
251
+ ...args,
252
+ url: `${args.apiBase}/repos/${args.issueRepo}/issues`,
253
+ method: 'POST',
254
+ body: {
255
+ title: args.report.manifest.report?.title ?? 'Bug report',
256
+ body: issueBody(args),
257
+ ...(args.labels && args.labels.length > 0 && { labels: [...args.labels] }),
258
+ },
259
+ what: `file the issue on '${args.issueRepo}'`,
260
+ allowStatuses: [],
261
+ });
262
+ const body = res.body;
263
+ return typeof body?.html_url === 'string'
264
+ ? body.html_url
265
+ : `https://github.com/${args.issueRepo}/issues`;
266
+ }
267
+ /**
268
+ * One request.
269
+ *
270
+ * Everything about the secrecy law lives here: the token goes into a header and
271
+ * nowhere else; a thrown fetch is re-wrapped so no implementation can smuggle
272
+ * its request (headers included) into the text; a non-2xx names the status and
273
+ * GitHub's `message` field ONLY — never the request body, which for the upload
274
+ * is the base64 of the evidence and for every call travelled beside the token.
275
+ */
276
+ async function request(args) {
277
+ let res;
278
+ try {
279
+ res = await args.doFetch(args.url, {
280
+ method: args.method,
281
+ headers: { ...githubHeaders(args.token), 'content-type': 'application/json' },
282
+ body: JSON.stringify(args.body),
283
+ });
284
+ }
285
+ catch (err) {
286
+ throw new Error(`githubBugReporter: could not reach GitHub to ${args.what} (${transportReason(err)}). ` +
287
+ `Check the network and \`apiBase\`.`);
288
+ }
289
+ let body;
290
+ try {
291
+ body = await res.json();
292
+ }
293
+ catch {
294
+ body = undefined;
295
+ }
296
+ const message = githubMessage(body);
297
+ if (res.ok)
298
+ return { ok: true, status: res.status, message, body };
299
+ if (args.allowStatuses.includes(res.status)) {
300
+ return { ok: false, status: res.status, message, body };
301
+ }
302
+ throw new Error(`githubBugReporter: GitHub answered ${res.status} when asked to ${args.what}` +
303
+ `${message ? ` — "${message}"` : ''}.${statusHint(res.status)}`);
304
+ }
305
+ /** GitHub's error envelope is `{ message, documentation_url, errors }`. Only
306
+ * `message` is ever surfaced: `errors[]` can quote the request. */
307
+ function githubMessage(body) {
308
+ const message = body?.message;
309
+ return typeof message === 'string' ? message.slice(0, 200) : '';
310
+ }
311
+ function statusHint(status) {
312
+ if (status === 401) {
313
+ return (` The token is missing, expired or revoked — mint a new fine-grained one ` +
314
+ `(${FINE_GRAINED_TOKEN_PAGE}).`);
315
+ }
316
+ if (status === 403) {
317
+ return (` The token is valid but not permitted here. A fine-grained token needs Contents: ` +
318
+ `read/write on the evidence repo and Issues: read/write on the issue repo, and it must ` +
319
+ `list BOTH repositories in its repository access.`);
320
+ }
321
+ if (status === 404) {
322
+ return (` Either the repository does not exist under that name, or the token cannot see it — ` +
323
+ `GitHub answers 404 rather than 403 for a private repo a token has no access to.`);
324
+ }
325
+ if (status === 410)
326
+ return ' Issues are disabled on that repository.';
327
+ return '';
328
+ }
329
+ function githubHeaders(token) {
330
+ return {
331
+ authorization: `Bearer ${token}`,
332
+ accept: 'application/vnd.github+json',
333
+ 'x-github-api-version': '2022-11-28',
334
+ };
335
+ }
336
+ /** A short, payload-free reason. Never the error's own message: a fetch may put
337
+ * the request — headers included — in it. */
338
+ function transportReason(err) {
339
+ if (err instanceof Error) {
340
+ if (err.name === 'TimeoutError' || err.name === 'AbortError')
341
+ return 'the request timed out';
342
+ return err.name || 'network error';
343
+ }
344
+ return 'network error';
345
+ }
346
+ // ─── Small pure helpers ──────────────────────────────────────────────
347
+ function checkedRepo(repo, option) {
348
+ if (typeof repo !== 'string' || !/^[^/\s]+\/[^/\s]+$/.test(repo)) {
349
+ throw new TypeError(`githubBugReporter: \`${option}\` must be 'owner/name' (e.g. 'acme/checkout-agent'), ` +
350
+ `not '${String(repo)}'. \`issueRepo\` is where the ISSUE is filed; \`evidenceRepo\` ` +
351
+ `is where the evidence ZIP is committed, and defaults to \`issueRepo\`.`);
352
+ }
353
+ return repo;
354
+ }
355
+ function readEnv(name) {
356
+ const env = globalThis.process
357
+ ?.env;
358
+ const value = env?.[name];
359
+ return typeof value === 'string' && value !== '' ? value : undefined;
360
+ }
361
+ /** Base64 for the contents API. Node-only, and it says so by name. */
362
+ function toBase64(bytes) {
363
+ const buffer = globalThis.Buffer;
364
+ if (!buffer) {
365
+ throw new Error('githubBugReporter is a server-side reporter and needs Node (it base64-encodes the ' +
366
+ 'bundle with Buffer). In a browser, build the bundle with exportBugReport() and POST ' +
367
+ 'it to your own server, which files it — a browser holding a GitHub token is a token ' +
368
+ 'anyone with the page can read.');
369
+ }
370
+ return buffer.from(bytes).toString('base64');
371
+ }
372
+ /** Six characters of collision resistance in a filename. */
373
+ function shortId() {
374
+ const random = globalThis
375
+ .crypto;
376
+ if (random?.getRandomValues) {
377
+ const bytes = random.getRandomValues(new Uint8Array(4));
378
+ return [...bytes]
379
+ .map((byte) => byte.toString(16).padStart(2, '0'))
380
+ .join('')
381
+ .slice(0, 6);
382
+ }
383
+ return Math.random().toString(36).slice(2, 8);
384
+ }
385
+ const encodePath = (path) => path.split('/').map(encodeURIComponent).join('/');
386
+ /** The manifest already worked out what to drop; repeat it rather than invent. */
387
+ function trimAdvice(report) {
388
+ const hints = report.manifest.oversize?.trimHints;
389
+ if (hints && hints.length > 0)
390
+ return hints.join(' ');
391
+ const biggest = [...report.manifest.units]
392
+ .filter((unit) => unit.kind === 'conversation')
393
+ .sort((left, right) => right.bytes - left.bytes)
394
+ .slice(0, 3);
395
+ return biggest.length > 0
396
+ ? `pass \`include\` to exportBugReport() without ${biggest
397
+ .map((unit) => `${unit.id} (${(0, build_js_1.formatBytes)(unit.bytes)})`)
398
+ .join(' / ')}.`
399
+ : 'pass `include` to exportBugReport() with fewer units.';
400
+ }
401
+ // ─── The issue body ──────────────────────────────────────────────────
402
+ function issueBody(args) {
403
+ const { manifest } = args.report;
404
+ const fields = manifest.report;
405
+ const lines = [];
406
+ if (fields) {
407
+ lines.push('### Steps to reproduce', '', fields.stepsToReproduce, '');
408
+ lines.push('### Expected', '', fields.expected, '');
409
+ lines.push('### Actual', '', fields.actual, '');
410
+ }
411
+ lines.push('### The run is attached', '');
412
+ lines.push(`[\`${args.zipPath}\`](${args.zipUrl}) — the recorded run itself.`);
413
+ if (args.crossRepo) {
414
+ lines.push('', args.evidencePrivate === false
415
+ ? `The evidence is committed to \`${args.evidenceRepo}\`, a separate PUBLIC repository.`
416
+ : `The evidence is committed to \`${args.evidenceRepo}\`, a private repository visible ` +
417
+ `to maintainers — this issue links it but does not contain it.`);
418
+ }
419
+ lines.push('', 'Open it with `observeRecording()` (agentfootprint-lens) or the trace tools — ' +
420
+ '`recording.json` is the canon `{ snapshot, events, structure }`.', '');
421
+ lines.push('### What is in the bundle', '');
422
+ lines.push('| file | bytes | events | turns |', '|---|---:|---:|---:|');
423
+ for (const file of manifest.files) {
424
+ lines.push(`| \`${file.name}\` | ${file.bytes} | ${file.eventCount ?? ''} | ${file.turnCount ?? ''} |`);
425
+ }
426
+ lines.push('', `${manifest.counts.conversations} conversation(s), ${manifest.counts.runs} run(s), ` +
427
+ `${manifest.counts.events} event(s), ${manifest.counts.turns} turn(s), ` +
428
+ `${manifest.totalBytes} bytes uncompressed.`, '');
429
+ if (manifest.excluded.conversations > 0 || manifest.excluded.files > 0) {
430
+ lines.push(`**The reporter chose a subset.** Left out: ${manifest.excluded.conversations} ` +
431
+ `conversation(s) (${manifest.excluded.events} events, ${manifest.excluded.turns} ` +
432
+ `turns) and ${manifest.excluded.files} file(s).`, '');
433
+ }
434
+ lines.push('### Redacted keys', '', manifest.redactedKeys.length > 0
435
+ ? `Scrubbed at commit time by the run's redaction policy, listed by name only: ` +
436
+ `${manifest.redactedKeys.map((key) => `\`${key}\``).join(', ')}.`
437
+ : 'None — this run had no redaction policy, so every value in the bundle is real.', '');
438
+ const env = manifest.environment;
439
+ lines.push('### Environment', '');
440
+ lines.push('```');
441
+ lines.push(`agentfootprint ${env.agentfootprint}`);
442
+ lines.push(`footprintjs ${env.footprintjs}`);
443
+ lines.push(`node ${env.node}`);
444
+ lines.push(`platform ${env.platform}/${env.arch}`);
445
+ if (env.appVersion)
446
+ lines.push(`app ${env.appVersion}`);
447
+ lines.push('```');
448
+ if (manifest.warnings.length > 0) {
449
+ lines.push('', '### Warnings', '');
450
+ for (const warning of manifest.warnings)
451
+ lines.push(`- ${warning}`);
452
+ }
453
+ if (manifest.notes.length > 0) {
454
+ lines.push('', '<details><summary>Notes about this bundle</summary>', '');
455
+ for (const note of manifest.notes)
456
+ lines.push(`- ${note}`);
457
+ lines.push('', '</details>');
458
+ }
459
+ return lines.join('\n');
460
+ }
461
+ //# sourceMappingURL=githubBugReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"githubBugReporter.js","sourceRoot":"","sources":["../../../src/adapters/observability/githubBugReporter.ts"],"names":[],"mappings":"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"}