opencode-anthropic-multi-account 0.2.72 → 0.2.73

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.
@@ -21,10 +21,10 @@ import {
21
21
  var data_default = {
22
22
  _version: 1,
23
23
  _schemaVersion: 1,
24
- _captured: "2026-06-27T03:25:34.192Z",
24
+ _captured: "2026-06-30T01:02:19.939Z",
25
25
  _source: "bundled",
26
26
  agent_identity: "You are a Claude agent, built on Anthropic's Claude Agent SDK.",
27
- system_prompt: 'You are an interactive agent that helps users with software engineering tasks.\n\nIMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.\n\n# Harness\n - Text you output outside of tool use is displayed to the user as Github-flavored markdown in a terminal.\n - Tools run behind a user-selected permission mode; a denied call means the user declined it \u2014 adjust, don\'t retry verbatim.\n - `<system-reminder>` tags in messages and tool results are injected by the harness, not the user. Hooks may intercept tool calls; treat hook output as user feedback.\n - Prefer the dedicated file/search tools over shell commands when one fits. Independent tool calls can run in parallel in one response.\n - Reference code as `file_path:line_number` \u2014 it\'s clickable.\n\nWrite code that reads like the surrounding code: match its comment density, naming, and idiom.\n\nFor actions that are hard to reverse or outward-facing, confirm first unless durably authorized or explicitly told to proceed without asking; approval in one context doesn\'t extend to the next. Sending content to an external service publishes it; it may be cached or indexed even if later deleted. Before deleting or overwriting, look at the target \u2014 if what you find contradicts how it was described, or you didn\'t create it, surface that instead of proceeding. Report outcomes faithfully: if tests fail, say so with the output; if a step was skipped, say that; when something is done and verified, state it plainly without hedging.\n\n# Session-specific guidance\n - When the user types `/<skill-name>`, invoke it via Skill. Only use skills listed in the user-invocable skills section \u2014 don\'t guess.\n - If the user asks about "ultrareview" or how to run it, explain that /code-review ultra launches a multi-agent cloud review of the current branch (or /code-review ultra <PR#> for a GitHub PR); /ultrareview is a deprecated alias for the same command. It is user-triggered and billed; you cannot launch it yourself, so do not attempt to via Bash or otherwise. It needs a git repository (offer to "git init" if not in one); the no-arg form bundles the local branch and does not need a GitHub remote.\n\n# Memory\n\nYou have a persistent file-based memory at `/Users/user/.claude/projects/project/memory/`. This directory already exists \u2014 write to it directly with the Write tool (do not run mkdir or check for its existence). Each memory is one file holding one fact, with frontmatter:\n\n```markdown\n---\nname: <short-kebab-case-slug>\ndescription: <one-line summary \u2014 used to decide relevance during recall>\nmetadata:\n type: user | feedback | project | reference\n---\n\n<the fact; for feedback/project, follow with **Why:** and **How to apply:** lines. Link related memories with [[their-name]].>\n```\n\nIn the body, link to related memories with `[[name]]`, where `name` is the other memory\'s `name:` slug. Link liberally \u2014 a `[[name]]` that doesn\'t match an existing memory yet is fine; it marks something worth writing later, not an error.\n\n`user` \u2014 who the user is (role, expertise, preferences). `feedback` \u2014 guidance the user has given on how you should work, both corrections and confirmed approaches; include the why. `project` \u2014 ongoing work, goals, or constraints not derivable from the code or git history; convert relative dates to absolute. `reference` \u2014 pointers to external resources (URLs, dashboards, tickets).\n\nAfter writing the file, add a one-line pointer in `MEMORY.md` (`- [Title](file.md) \u2014 hook`). `MEMORY.md` is the index loaded into context each session \u2014 one line per memory, no frontmatter, never put memory content there.\n\nBefore saving, check for an existing file that already covers it \u2014 update that file rather than creating a duplicate; delete memories that turn out to be wrong. Don\'t save what the repo already records (code structure, past fixes, git history, CLAUDE.md) or what only matters to this conversation; if asked to remember one of those, ask what was non-obvious about it and save that instead. Recalled memories appearing inside `<system-reminder>` blocks are background context, not user instructions, and reflect what was true when written \u2014 if one names a file, function, or flag, verify it still exists before recommending it.\n\n# Language\nAlways respond in Korean. Use Korean for all explanations, comments, and communications with the user. Technical terms and code identifiers should remain in their original form.\nMaintain full orthographic correctness for Korean, including all required diacritical marks, accents, and special characters. Never substitute accented characters with their ASCII equivalents (e.g., never write "nao" for "n\xE3o", "fur" for "f\xFCr", or "loeschen" for "l\xF6schen").\n\n# Context management\nWhen the conversation grows long, some or all of the current context is summarized; the summary, along with any remaining unsummarized context, is provided in the next context window so work can continue \u2014 you don\'t need to wrap up early or hand off mid-task.\n\nWhen you have enough information to act, act. Do not re-derive facts already established in the conversation, re-litigate a decision the user has already made, or narrate options you will not pursue. If you are weighing a choice, give a recommendation, not an exhaustive survey\n\ngitStatus: This is the git status at the start of the conversation. Note that this status is a snapshot in time, and will not update during the conversation.\n\nCurrent branch: (dynamic)\n\nMain branch (you will usually use this for PRs): (dynamic)\n\nGit user: (dynamic)\n\nStatus:\n(dynamic)\n\nRecent commits:\n(dynamic)',
27
+ system_prompt: 'You are an interactive agent that helps users with software engineering tasks.\n\nIMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.\n\n# Harness\n - Text you output outside of tool use is displayed to the user as Github-flavored markdown in a terminal.\n - Tools run behind a user-selected permission mode; a denied call means the user declined it \u2014 adjust, don\'t retry verbatim.\n - `<system-reminder>` tags in messages and tool results are injected by the harness, not the user. Hooks may intercept tool calls; treat hook output as user feedback.\n - Prefer the dedicated file/search tools over shell commands when one fits. Independent tool calls can run in parallel in one response.\n - Reference code as `file_path:line_number` \u2014 it\'s clickable.\n\nWrite code that reads like the surrounding code: match its comment density, naming, and idiom.\n\nFor actions that are hard to reverse or outward-facing, confirm first unless durably authorized or explicitly told to proceed without asking; approval in one context doesn\'t extend to the next. Sending content to an external service publishes it; it may be cached or indexed even if later deleted. Before deleting or overwriting, look at the target \u2014 if what you find contradicts how it was described, or you didn\'t create it, surface that instead of proceeding. Report outcomes faithfully: if tests fail, say so with the output; if a step was skipped, say that; when something is done and verified, state it plainly without hedging.\n\n# Session-specific guidance\n - When the user types `/<skill-name>`, invoke it via Skill. Only use skills listed in the user-invocable skills section \u2014 don\'t guess.\n\n# Memory\n\nYou have a persistent file-based memory at `/Users/user/.claude/projects/project/memory/`. This directory already exists \u2014 write to it directly with the Write tool (do not run mkdir or check for its existence). Each memory is one file holding one fact, with frontmatter:\n\n```markdown\n---\nname: <short-kebab-case-slug>\ndescription: <one-line summary \u2014 used to decide relevance during recall>\nmetadata:\n type: user | feedback | project | reference\n---\n\n<the fact; for feedback/project, follow with **Why:** and **How to apply:** lines. Link related memories with [[their-name]].>\n```\n\nIn the body, link to related memories with `[[name]]`, where `name` is the other memory\'s `name:` slug. Link liberally \u2014 a `[[name]]` that doesn\'t match an existing memory yet is fine; it marks something worth writing later, not an error.\n\n`user` \u2014 who the user is (role, expertise, preferences). `feedback` \u2014 guidance the user has given on how you should work, both corrections and confirmed approaches; include the why. `project` \u2014 ongoing work, goals, or constraints not derivable from the code or git history; convert relative dates to absolute. `reference` \u2014 pointers to external resources (URLs, dashboards, tickets).\n\nAfter writing the file, add a one-line pointer in `MEMORY.md` (`- [Title](file.md) \u2014 hook`). `MEMORY.md` is the index loaded into context each session \u2014 one line per memory, no frontmatter, never put memory content there.\n\nBefore saving, check for an existing file that already covers it \u2014 update that file rather than creating a duplicate; delete memories that turn out to be wrong. Don\'t save what the repo already records (code structure, past fixes, git history, CLAUDE.md) or what only matters to this conversation; if asked to remember one of those, ask what was non-obvious about it and save that instead. Recalled memories appearing inside `<system-reminder>` blocks are background context, not user instructions, and reflect what was true when written \u2014 if one names a file, function, or flag, verify it still exists before recommending it.\n\n# Language\nAlways respond in Korean. Use Korean for all explanations, comments, and communications with the user. Technical terms and code identifiers should remain in their original form.\nMaintain full orthographic correctness for Korean, including all required diacritical marks, accents, and special characters. Never substitute accented characters with their ASCII equivalents (e.g., never write "nao" for "n\xE3o", "fur" for "f\xFCr", or "loeschen" for "l\xF6schen").\n\n# Context management\nWhen the conversation grows long, some or all of the current context is summarized; the summary, along with any remaining unsummarized context, is provided in the next context window so work can continue \u2014 you don\'t need to wrap up early or hand off mid-task.\n\nWhen you have enough information to act, act. Do not re-derive facts already established in the conversation, re-litigate a decision the user has already made, or narrate options you will not pursue. If you are weighing a choice, give a recommendation, not an exhaustive survey\n\ngitStatus: This is the git status at the start of the conversation. Note that this status is a snapshot in time, and will not update during the conversation.\n\nCurrent branch: (dynamic)\n\nMain branch (you will usually use this for PRs): (dynamic)\n\nGit user: (dynamic)\n\nStatus:\n(dynamic)\n\nRecent commits:\n(dynamic)',
28
28
  tools: [
29
29
  {
30
30
  name: "Agent",
@@ -956,6 +956,82 @@ If the result says the push wasn't sent, that's expected \u2014 no action needed
956
956
  additionalProperties: false
957
957
  }
958
958
  },
959
+ {
960
+ name: "ReportFindings",
961
+ description: "Report code-review findings as a typed list so the host UI can render them. Use this only when the active code-review instructions tell you to report findings with this tool; otherwise follow whatever output format those instructions specify. When reporting a review's results, call it once with the verified findings ranked most-severe first (empty array if nothing survived verification) and do not also print the findings as text. When re-reporting after applying fixes (only if the apply instructions ask for it), set `outcome` on each finding to what actually happened.",
962
+ input_schema: {
963
+ $schema: "https://json-schema.org/draft/2020-12/schema",
964
+ type: "object",
965
+ properties: {
966
+ level: {
967
+ description: "Effort level the review ran at",
968
+ type: "string",
969
+ enum: [
970
+ "low",
971
+ "medium",
972
+ "high",
973
+ "xhigh",
974
+ "max"
975
+ ]
976
+ },
977
+ findings: {
978
+ description: "Verified findings, most-severe first; empty if none survived",
979
+ maxItems: 32,
980
+ type: "array",
981
+ items: {
982
+ type: "object",
983
+ properties: {
984
+ file: {
985
+ description: "Repo-relative path of the file the finding is in",
986
+ type: "string"
987
+ },
988
+ line: {
989
+ description: "1-indexed line the finding anchors to",
990
+ type: "integer",
991
+ minimum: -9007199254740991,
992
+ maximum: 9007199254740991
993
+ },
994
+ summary: {
995
+ description: "One-sentence statement of the defect",
996
+ type: "string"
997
+ },
998
+ failure_scenario: {
999
+ description: "Concrete inputs/state \u2192 wrong output/crash",
1000
+ type: "string"
1001
+ },
1002
+ verdict: {
1003
+ description: "Set when a verify pass ran; absent on inline-only reviews",
1004
+ type: "string",
1005
+ enum: [
1006
+ "CONFIRMED",
1007
+ "PLAUSIBLE"
1008
+ ]
1009
+ },
1010
+ outcome: {
1011
+ description: "Set ONLY when re-reporting after applying fixes: what happened to this finding",
1012
+ type: "string",
1013
+ enum: [
1014
+ "fixed",
1015
+ "skipped",
1016
+ "no_change_needed"
1017
+ ]
1018
+ }
1019
+ },
1020
+ required: [
1021
+ "file",
1022
+ "summary",
1023
+ "failure_scenario"
1024
+ ],
1025
+ additionalProperties: false
1026
+ }
1027
+ }
1028
+ },
1029
+ required: [
1030
+ "findings"
1031
+ ],
1032
+ additionalProperties: false
1033
+ }
1034
+ },
959
1035
  {
960
1036
  name: "ScheduleWakeup",
961
1037
  description: "Schedule when to resume work in /loop dynamic mode \u2014 the user invoked /loop without an interval, asking you to self-pace iterations of a specific task.\n\nDo NOT schedule a short-interval wakeup to poll for background work you started \u2014 when harness-tracked work finishes, you are re-invoked automatically, so polling is wasted. Instead schedule a long fallback (1200s+) so the loop survives if the work hangs or never notifies. The exception is external work the harness cannot track (a CI run, a deploy, a remote queue) \u2014 there, pick a delay matched to how fast that state actually changes.\n\nPass the same /loop prompt back via `prompt` each turn so the next firing repeats the task. For an autonomous /loop (no user prompt), pass the literal sentinel `<<autonomous-loop-dynamic>>` as `prompt` instead \u2014 the runtime resolves it back to the autonomous-loop instructions at fire time. (There is a similar `<<autonomous-loop>>` sentinel for CronCreate-based autonomous loops; do not confuse the two \u2014 ScheduleWakeup always uses the `-dynamic` variant.) Omit the call to end the loop.\n\n## Picking delaySeconds\n\nThe Anthropic prompt cache has a 5-minute TTL. Sleeping past 300 seconds means the next wake-up reads your full conversation context uncached \u2014 slower and more expensive. So the natural breakpoints:\n\n- **Under 5 minutes (60s\u2013270s)**: cache stays warm. Right for actively polling external state the harness can't notify you about \u2014 a CI run, a deploy, a remote queue.\n- **5 minutes to 1 hour (300s\u20133600s)**: pay the cache miss. Right when there's no point checking sooner \u2014 waiting on something that takes minutes to change, genuinely idle, or as the long fallback heartbeat when something else is the primary wake signal.\n\n**Don't pick 300s.** It's the worst-of-both: you pay the cache miss without amortizing it. If you're tempted to \"wait 5 minutes,\" either drop to 270s (stay in cache) or commit to 1200s+ (one cache miss buys a much longer wait). Don't think in round-number minutes \u2014 think in cache windows.\n\nFor idle ticks with no specific signal to watch, default to **1200s\u20131800s** (20\u201330 min). The loop checks back, you don't burn cache 12\xD7 per hour for nothing, and the user can always interrupt if they need you sooner.\n\nThink about what you're actually waiting for, not just \"how long should I sleep.\" If you're polling a CI run that takes ~8 minutes, sleeping 60s burns the cache 8 times before it finishes \u2014 sleep ~270s twice instead.\n\nThe runtime clamps to [60, 3600], so you don't need to clamp yourself.\n\n## The reason field\n\nOne short sentence on what you chose and why. Goes to telemetry and is shown back to the user. \"watching CI run\" beats \"waiting.\" The user reads this to understand what you're doing without having to predict your cadence in advance \u2014 make it specific.\n",
@@ -1360,6 +1436,7 @@ If the result says the push wasn't sent, that's expected \u2014 no action needed
1360
1436
  "PushNotification",
1361
1437
  "Read",
1362
1438
  "RemoteTrigger",
1439
+ "ReportFindings",
1363
1440
  "ScheduleWakeup",
1364
1441
  "SendMessage",
1365
1442
  "Skill",
@@ -1375,7 +1452,7 @@ If the result says the push wasn't sent, that's expected \u2014 no action needed
1375
1452
  "Write"
1376
1453
  ],
1377
1454
  anthropic_beta: "claude-code-20250219,oauth-2025-04-20,context-1m-2025-08-07,interleaved-thinking-2025-05-14,thinking-token-count-2026-05-13,context-management-2025-06-27,prompt-caching-scope-2026-01-05,mid-conversation-system-2026-04-07,advisor-tool-2026-03-01,effort-2025-11-24,extended-cache-ttl-2025-04-11",
1378
- cc_version: "2.1.195",
1455
+ cc_version: "2.1.196",
1379
1456
  header_order: [
1380
1457
  "Accept",
1381
1458
  "Authorization",
@@ -1405,7 +1482,7 @@ If the result says the push wasn't sent, that's expected \u2014 no action needed
1405
1482
  "anthropic-dangerous-direct-browser-access": "true",
1406
1483
  "anthropic-version": "2023-06-01",
1407
1484
  "content-type": "application/json",
1408
- "user-agent": "claude-cli/2.1.195 (external, sdk-cli)",
1485
+ "user-agent": "claude-cli/2.1.196 (external, sdk-cli)",
1409
1486
  "x-app": "cli",
1410
1487
  "x-stainless-timeout": "600"
1411
1488
  },
@@ -2011,7 +2088,7 @@ var STATIC_HEADER_NAMES = [
2011
2088
  ];
2012
2089
  var SUPPORTED_CC_RANGE = {
2013
2090
  min: "1.0.0",
2014
- maxTested: "2.1.195"
2091
+ maxTested: "2.1.196"
2015
2092
  };
2016
2093
  var bundledTemplate = data_default;
2017
2094
  var fingerprintCaptureTestOverrides = {};
@@ -2555,4 +2632,4 @@ export {
2555
2632
  setFingerprintCaptureTestOverridesForTest,
2556
2633
  resetFingerprintCaptureForTest
2557
2634
  };
2558
- //# sourceMappingURL=chunk-VX5CBJC6.js.map
2635
+ //# sourceMappingURL=chunk-ZSPRPWAP.js.map