@runcofactor/cli 0.10.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 (150) hide show
  1. package/README.md +125 -0
  2. package/dist/api-catalog-GFGCLVS4.js +401 -0
  3. package/dist/api-catalog-GFGCLVS4.js.map +1 -0
  4. package/dist/attachment-SJC7D7FY.js +276 -0
  5. package/dist/attachment-SJC7D7FY.js.map +1 -0
  6. package/dist/auth-EN6NQCJY.js +31 -0
  7. package/dist/auth-EN6NQCJY.js.map +1 -0
  8. package/dist/bin.js +7 -0
  9. package/dist/bin.js.map +1 -0
  10. package/dist/chunk-3CZU7XCS.js +272 -0
  11. package/dist/chunk-3CZU7XCS.js.map +1 -0
  12. package/dist/chunk-4NRDONSC.js +1048 -0
  13. package/dist/chunk-4NRDONSC.js.map +1 -0
  14. package/dist/chunk-4PNOV7OV.js +51980 -0
  15. package/dist/chunk-4PNOV7OV.js.map +1 -0
  16. package/dist/chunk-52IO7ACJ.js +2941 -0
  17. package/dist/chunk-52IO7ACJ.js.map +1 -0
  18. package/dist/chunk-6LEZCKKV.js +663 -0
  19. package/dist/chunk-6LEZCKKV.js.map +1 -0
  20. package/dist/chunk-A4OFTUVV.js +170 -0
  21. package/dist/chunk-A4OFTUVV.js.map +1 -0
  22. package/dist/chunk-B2VISN2V.js +2459 -0
  23. package/dist/chunk-B2VISN2V.js.map +1 -0
  24. package/dist/chunk-CLAWT7BJ.js +271 -0
  25. package/dist/chunk-CLAWT7BJ.js.map +1 -0
  26. package/dist/chunk-GKY2KXO5.js +281 -0
  27. package/dist/chunk-GKY2KXO5.js.map +1 -0
  28. package/dist/chunk-I4QLI3JO.js +413 -0
  29. package/dist/chunk-I4QLI3JO.js.map +1 -0
  30. package/dist/chunk-IMPZAX6L.js +180 -0
  31. package/dist/chunk-IMPZAX6L.js.map +1 -0
  32. package/dist/chunk-J6SH7GQT.js +241 -0
  33. package/dist/chunk-J6SH7GQT.js.map +1 -0
  34. package/dist/chunk-JDBCZ3Z2.js +298 -0
  35. package/dist/chunk-JDBCZ3Z2.js.map +1 -0
  36. package/dist/chunk-JICSYFRJ.js +46 -0
  37. package/dist/chunk-JICSYFRJ.js.map +1 -0
  38. package/dist/chunk-JWHYXEA2.js +32 -0
  39. package/dist/chunk-JWHYXEA2.js.map +1 -0
  40. package/dist/chunk-N7HFALX3.js +88 -0
  41. package/dist/chunk-N7HFALX3.js.map +1 -0
  42. package/dist/chunk-Q4BO4Z5V.js +178 -0
  43. package/dist/chunk-Q4BO4Z5V.js.map +1 -0
  44. package/dist/chunk-QFDOWABX.js +195 -0
  45. package/dist/chunk-QFDOWABX.js.map +1 -0
  46. package/dist/chunk-SJJW77WN.js +605 -0
  47. package/dist/chunk-SJJW77WN.js.map +1 -0
  48. package/dist/chunk-VKVL7WBN.js +50 -0
  49. package/dist/chunk-VKVL7WBN.js.map +1 -0
  50. package/dist/chunk-WOHL4FTB.js +353 -0
  51. package/dist/chunk-WOHL4FTB.js.map +1 -0
  52. package/dist/chunk-XQXVG7RA.js +426 -0
  53. package/dist/chunk-XQXVG7RA.js.map +1 -0
  54. package/dist/chunk-ZD3KHESI.js +94 -0
  55. package/dist/chunk-ZD3KHESI.js.map +1 -0
  56. package/dist/credential-COLTBV6D.js +450 -0
  57. package/dist/credential-COLTBV6D.js.map +1 -0
  58. package/dist/credential-template-EEPYFG7R.js +291 -0
  59. package/dist/credential-template-EEPYFG7R.js.map +1 -0
  60. package/dist/debug-workflow-KOVH5GOP.js +259 -0
  61. package/dist/debug-workflow-KOVH5GOP.js.map +1 -0
  62. package/dist/dist-44PZR7BQ.js +423 -0
  63. package/dist/dist-44PZR7BQ.js.map +1 -0
  64. package/dist/docs-3SSORHB5.js +366 -0
  65. package/dist/docs-3SSORHB5.js.map +1 -0
  66. package/dist/doctor-OTSIWV6G.js +132 -0
  67. package/dist/doctor-OTSIWV6G.js.map +1 -0
  68. package/dist/feature-flag-T2LRZME3.js +283 -0
  69. package/dist/feature-flag-T2LRZME3.js.map +1 -0
  70. package/dist/file-type-S3UUBVCT.js +4205 -0
  71. package/dist/file-type-S3UUBVCT.js.map +1 -0
  72. package/dist/index.d.ts +3 -0
  73. package/dist/index.js +982 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/init-TGWRECT2.js +208 -0
  76. package/dist/init-TGWRECT2.js.map +1 -0
  77. package/dist/install-DXSNWZKO.js +295 -0
  78. package/dist/install-DXSNWZKO.js.map +1 -0
  79. package/dist/issues-XIZOPX6T.js +564 -0
  80. package/dist/issues-XIZOPX6T.js.map +1 -0
  81. package/dist/knobs-NBINZIUB.js +295 -0
  82. package/dist/knobs-NBINZIUB.js.map +1 -0
  83. package/dist/list-3TDHK637.js +59 -0
  84. package/dist/list-3TDHK637.js.map +1 -0
  85. package/dist/local-HICVD6PU.js +100 -0
  86. package/dist/local-HICVD6PU.js.map +1 -0
  87. package/dist/login-UOIUXVUK.js +315 -0
  88. package/dist/login-UOIUXVUK.js.map +1 -0
  89. package/dist/mcp-54IJEOUA.js +1956 -0
  90. package/dist/mcp-54IJEOUA.js.map +1 -0
  91. package/dist/pdf-extract-ABWV3L5X.js +13 -0
  92. package/dist/pdf-extract-ABWV3L5X.js.map +1 -0
  93. package/dist/pdfjs-DQ2YA5S3.js +41561 -0
  94. package/dist/pdfjs-DQ2YA5S3.js.map +1 -0
  95. package/dist/property-UXLOLPTD.js +701 -0
  96. package/dist/property-UXLOLPTD.js.map +1 -0
  97. package/dist/property-skill-guide.md +189 -0
  98. package/dist/psql-BYUUNLGG.js +115 -0
  99. package/dist/psql-BYUUNLGG.js.map +1 -0
  100. package/dist/record-4TR2UIIS.js +233 -0
  101. package/dist/record-4TR2UIIS.js.map +1 -0
  102. package/dist/redis-35VBUYW7.js +116 -0
  103. package/dist/redis-35VBUYW7.js.map +1 -0
  104. package/dist/release-OOLTUBUT.js +354 -0
  105. package/dist/release-OOLTUBUT.js.map +1 -0
  106. package/dist/sandbox-XGSUU6G7.js +2046 -0
  107. package/dist/sandbox-XGSUU6G7.js.map +1 -0
  108. package/dist/scenarios-GWLJEGHA.js +280 -0
  109. package/dist/scenarios-GWLJEGHA.js.map +1 -0
  110. package/dist/session-MYFNZPRP.js +2414 -0
  111. package/dist/session-MYFNZPRP.js.map +1 -0
  112. package/dist/skill-KM34LDMO.js +1839 -0
  113. package/dist/skill-KM34LDMO.js.map +1 -0
  114. package/dist/skills/debug-run/SKILL.md +262 -0
  115. package/dist/skills/debug-run/history/1.0.0.md +244 -0
  116. package/dist/skills/debug-run/history/1.0.1.md +245 -0
  117. package/dist/skills/debug-run/history/1.0.2.md +254 -0
  118. package/dist/skills/debug-run/history/1.1.0.md +262 -0
  119. package/dist/skills/debug-run/version.json +3 -0
  120. package/dist/spec-RA3CFEKG.js +951 -0
  121. package/dist/spec-RA3CFEKG.js.map +1 -0
  122. package/dist/src-LB4HBTJQ.js +1516 -0
  123. package/dist/src-LB4HBTJQ.js.map +1 -0
  124. package/dist/src-N3TPKGTY.js +244 -0
  125. package/dist/src-N3TPKGTY.js.map +1 -0
  126. package/dist/src-UVDX5UP6.js +17 -0
  127. package/dist/src-UVDX5UP6.js.map +1 -0
  128. package/dist/start-PSEQSQA3.js +151 -0
  129. package/dist/start-PSEQSQA3.js.map +1 -0
  130. package/dist/tag-YY6YAABQ.js +22 -0
  131. package/dist/tag-YY6YAABQ.js.map +1 -0
  132. package/dist/task-IQC3YR5K.js +922 -0
  133. package/dist/task-IQC3YR5K.js.map +1 -0
  134. package/dist/test-suite-DZNJFXDW.js +394 -0
  135. package/dist/test-suite-DZNJFXDW.js.map +1 -0
  136. package/dist/trace-HXIW7U2D.js +14 -0
  137. package/dist/trace-HXIW7U2D.js.map +1 -0
  138. package/dist/triage-ORG45R5W.js +16 -0
  139. package/dist/triage-ORG45R5W.js.map +1 -0
  140. package/dist/upgrade-L2VYMP2V.js +61 -0
  141. package/dist/upgrade-L2VYMP2V.js.map +1 -0
  142. package/dist/workflow-XYFH5LTP.js +3708 -0
  143. package/dist/workflow-XYFH5LTP.js.map +1 -0
  144. package/dist/workflow-cache-NQJQFWMV.js +253 -0
  145. package/dist/workflow-cache-NQJQFWMV.js.map +1 -0
  146. package/dist/workflow-debug-BGD4UIXU.js +927 -0
  147. package/dist/workflow-debug-BGD4UIXU.js.map +1 -0
  148. package/dist/workflow-proposals-MTUDX46O.js +382 -0
  149. package/dist/workflow-proposals-MTUDX46O.js.map +1 -0
  150. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/scenarios.ts"],"sourcesContent":["/**\n * `canary scenarios` — drive the scenario candidate review queue.\n *\n * Minimal lifecycle CLI for Phase D of the scenario suite:\n * list / get / claim / commit / reject / bundle\n *\n * Designed to be invoked by an agent (every prompt has a flag\n * equivalent — no interactive input required).\n *\n * @module\n */\n\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { createHash } from 'node:crypto';\nimport { spawnSync } from 'node:child_process';\nimport process from 'node:process';\nimport { resolveConfig, getArgValue, hasFlag } from './auth.js';\nimport { apiRequest } from './cli-helpers.js';\n\ninterface ScenarioCandidate {\n id: string;\n fingerprint: string;\n status: 'pending' | 'claimed' | 'committed' | 'rejected' | 'duplicate';\n sourceTrigger: 'cache_failure' | 'l3_invocation' | 'sampled' | 'manual';\n sourceRunId: string | null;\n sourceStepIdx: number | null;\n hostSlug: string;\n featureSlug: string | null;\n s3KeyBundle: string;\n bundleBytes: number | null;\n bundleSha256: string | null;\n relatedToFingerprint: string | null;\n capturedAt: string;\n claimedBy: string | null;\n claimedAt: string | null;\n resolutionCommit: string | null;\n resolutionScenarioId: string | null;\n rejectionReason: string | null;\n}\n\ninterface ListResponse {\n ok: boolean;\n error?: string;\n candidates?: ScenarioCandidate[];\n}\n\ninterface SingleResponse {\n ok: boolean;\n error?: string;\n candidate?: ScenarioCandidate;\n}\n\ninterface BundleResponse {\n ok: boolean;\n error?: string;\n url?: string;\n expiresInSeconds?: number;\n sha256?: string | null;\n bytes?: number | null;\n}\n\nfunction printHelp(): void {\n console.log(`canary scenarios — scenario candidate review queue\n\nSubcommands:\n list List pending candidates (LIFO, newest first)\n get <id> Print a single candidate as JSON\n bundle <id> Print the signed bundle URL (for piping into curl)\n claim <id> Claim a candidate; downloads + unzips the bundle\n into apps/api/tests/scenarios/_pending/<id>/\n commit <id> Mark candidate committed\n --commit-sha <sha> (required) git sha of the landing commit\n --scenario-id <name> (required) <host>__<feature>__<hash> in the suite\n reject <id> --reason <r> Mark candidate rejected without committing\n\nCommon flags:\n --json Machine-readable output (for agents)\n --limit <n> list: max rows to return (default 50, max 200)\n --claimed-by <name> claim: who is claiming (default: $USER or 'agent')\n --workdir <path> claim: where to unzip the bundle\n (default: apps/api/tests/scenarios/_pending/<id>)\n`);\n}\n\nexport async function runScenarios(argv: string[]): Promise<void> {\n const sub = argv[0];\n if (!sub || sub === '--help' || sub === '-h') {\n printHelp();\n return;\n }\n\n const rest = argv.slice(1);\n const config = await resolveConfig(rest);\n const { apiUrl, token } = config;\n\n switch (sub) {\n case 'list':\n return handleList(rest, apiUrl, token);\n case 'get':\n return handleGet(rest, apiUrl, token);\n case 'bundle':\n return handleBundle(rest, apiUrl, token);\n case 'claim':\n return handleClaim(rest, apiUrl, token);\n case 'commit':\n return handleCommit(rest, apiUrl, token);\n case 'reject':\n return handleReject(rest, apiUrl, token);\n default:\n console.error(`Unknown subcommand: ${sub}`);\n printHelp();\n process.exit(1);\n }\n}\n\nasync function handleList(argv: string[], apiUrl: string, token: string): Promise<void> {\n const jsonOutput = hasFlag(argv, '--json');\n const limitStr = getArgValue(argv, '--limit');\n const limit = limitStr ? Number.parseInt(limitStr, 10) : 50;\n\n const path = `/superadmin/scenarios/candidates?limit=${limit}`;\n const result = await apiRequest<ListResponse>(apiUrl, token, 'GET', path);\n if (!result.ok || !result.candidates) {\n console.error(`Error: ${result.error ?? 'unknown'}`);\n process.exit(1);\n }\n\n if (jsonOutput) {\n console.log(JSON.stringify(result.candidates, null, 2));\n return;\n }\n\n if (result.candidates.length === 0) {\n console.log('No pending scenario candidates.');\n return;\n }\n console.log(`${result.candidates.length} pending candidate(s):`);\n for (const c of result.candidates) {\n const ageMin = Math.round((Date.now() - new Date(c.capturedAt).getTime()) / 60000);\n console.log(\n ` ${c.id} trigger=${c.sourceTrigger} host=${c.hostSlug} age=${ageMin}m`\n );\n }\n}\n\nasync function handleGet(argv: string[], apiUrl: string, token: string): Promise<void> {\n const id = argv[0];\n if (!id || id.startsWith('--')) {\n console.error('Usage: canary scenarios get <id>');\n process.exit(1);\n }\n const result = await apiRequest<SingleResponse>(\n apiUrl,\n token,\n 'GET',\n `/superadmin/scenarios/candidates/${id}`\n );\n if (!result.ok || !result.candidate) {\n console.error(`Error: ${result.error ?? 'unknown'}`);\n process.exit(1);\n }\n console.log(JSON.stringify(result.candidate, null, 2));\n}\n\nasync function handleBundle(argv: string[], apiUrl: string, token: string): Promise<void> {\n const id = argv[0];\n if (!id || id.startsWith('--')) {\n console.error('Usage: canary scenarios bundle <id>');\n process.exit(1);\n }\n const result = await apiRequest<BundleResponse>(\n apiUrl,\n token,\n 'GET',\n `/superadmin/scenarios/candidates/${id}/bundle`\n );\n if (!result.ok || !result.url) {\n console.error(`Error: ${result.error ?? 'unknown'}`);\n process.exit(1);\n }\n if (hasFlag(argv, '--json')) {\n console.log(JSON.stringify(result, null, 2));\n return;\n }\n console.log(result.url);\n}\n\nasync function handleClaim(argv: string[], apiUrl: string, token: string): Promise<void> {\n const id = argv[0];\n if (!id || id.startsWith('--')) {\n console.error('Usage: canary scenarios claim <id> [--claimed-by <name>] [--workdir <path>]');\n process.exit(1);\n }\n const claimedBy = getArgValue(argv, '--claimed-by') ?? process.env.USER ?? 'agent';\n const workdir =\n getArgValue(argv, '--workdir') ??\n path.resolve(process.cwd(), 'apps/api/tests/scenarios/_pending', id);\n\n const claim = await apiRequest<SingleResponse>(\n apiUrl,\n token,\n 'POST',\n `/superadmin/scenarios/candidates/${id}/claim`,\n { claimedBy }\n );\n if (!claim.ok || !claim.candidate) {\n console.error(`Claim failed: ${claim.error ?? 'unknown'}`);\n process.exit(1);\n }\n\n const bundleResp = await apiRequest<BundleResponse>(\n apiUrl,\n token,\n 'GET',\n `/superadmin/scenarios/candidates/${id}/bundle`\n );\n if (!bundleResp.ok || !bundleResp.url) {\n console.error(`Bundle URL fetch failed: ${bundleResp.error ?? 'unknown'}`);\n process.exit(1);\n }\n\n fs.mkdirSync(workdir, { recursive: true });\n const dl = await fetch(bundleResp.url);\n if (!dl.ok) {\n console.error(`Bundle download failed: HTTP ${dl.status}`);\n process.exit(1);\n }\n const buf = Buffer.from(await dl.arrayBuffer());\n if (bundleResp.sha256) {\n const got = createHash('sha256').update(buf).digest('hex');\n if (got !== bundleResp.sha256) {\n console.error(`Bundle sha256 mismatch: expected ${bundleResp.sha256}, got ${got}`);\n process.exit(1);\n }\n }\n\n const zipPath = path.join(workdir, 'bundle.zip');\n fs.writeFileSync(zipPath, buf);\n\n // Try to unzip via the system `unzip` command; fall through with a hint\n // if unavailable so the operator can extract by hand.\n const unzip = spawnSync('unzip', ['-o', zipPath, '-d', workdir], {\n stdio: 'pipe',\n encoding: 'utf8',\n });\n const extracted = unzip.status === 0;\n if (extracted) {\n fs.unlinkSync(zipPath);\n }\n\n if (hasFlag(argv, '--json')) {\n console.log(\n JSON.stringify(\n {\n ok: true,\n candidate: claim.candidate,\n workdir,\n bundleZipPath: extracted ? null : zipPath,\n },\n null,\n 2\n )\n );\n return;\n }\n if (extracted) {\n console.log(`Claimed ${id}; bundle unzipped at ${workdir}`);\n console.log(` source: ${claim.candidate.sourceTrigger} on host ${claim.candidate.hostSlug}`);\n console.log(` contents:`);\n for (const entry of fs.readdirSync(workdir).sort()) {\n console.log(` ${entry}`);\n }\n } else {\n console.log(`Claimed ${id}; bundle saved at ${zipPath}`);\n console.log(` (system 'unzip' not found; extract manually:`);\n console.log(` unzip ${zipPath} -d ${workdir})`);\n }\n}\n\nasync function handleCommit(argv: string[], apiUrl: string, token: string): Promise<void> {\n const id = argv[0];\n if (!id || id.startsWith('--')) {\n console.error(\n 'Usage: canary scenarios commit <id> --commit-sha <sha> --scenario-id <id>'\n );\n process.exit(1);\n }\n const commitSha = getArgValue(argv, '--commit-sha');\n const scenarioId = getArgValue(argv, '--scenario-id');\n if (!commitSha || !scenarioId) {\n console.error('Error: --commit-sha and --scenario-id are required.');\n process.exit(1);\n }\n const result = await apiRequest<SingleResponse>(\n apiUrl,\n token,\n 'POST',\n `/superadmin/scenarios/candidates/${id}/commit`,\n { commitSha, scenarioId }\n );\n if (!result.ok || !result.candidate) {\n console.error(`Commit failed: ${result.error ?? 'unknown'}`);\n process.exit(1);\n }\n if (hasFlag(argv, '--json')) {\n console.log(JSON.stringify(result.candidate, null, 2));\n return;\n }\n console.log(`Marked ${id} committed → ${scenarioId} @ ${commitSha}`);\n}\n\nasync function handleReject(argv: string[], apiUrl: string, token: string): Promise<void> {\n const id = argv[0];\n if (!id || id.startsWith('--')) {\n console.error('Usage: canary scenarios reject <id> --reason <text>');\n process.exit(1);\n }\n const reason = getArgValue(argv, '--reason');\n if (!reason) {\n console.error('Error: --reason is required.');\n process.exit(1);\n }\n const result = await apiRequest<SingleResponse>(\n apiUrl,\n token,\n 'POST',\n `/superadmin/scenarios/candidates/${id}/reject`,\n { reason }\n );\n if (!result.ok || !result.candidate) {\n console.error(`Reject failed: ${result.error ?? 'unknown'}`);\n process.exit(1);\n }\n if (hasFlag(argv, '--json')) {\n console.log(JSON.stringify(result.candidate, null, 2));\n return;\n }\n console.log(`Rejected ${id}: ${reason}`);\n}\n"],"mappings":"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","names":["path"]}