pwn 0.5.621 → 0.5.622

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.
@@ -18,12 +18,18 @@
18
18
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Dispatch.parse_args Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Dispatch.parse_args`: "}]}
19
19
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Dispatch.symbolize Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Dispatch.symbolize`: "}]}
20
20
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
21
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.auto_extrospect Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.auto_extrospect`: Supported Method Parameters\n\nPWN::AI::Agent::Extrospection.auto_extrospect(\n\nsession_id: 'optional - id of the just-completed session (for tagging)'\n\n)\n\nCalled by Learning.auto_reflect when PWN::Env[:agent] is truthy. Captures a fresh snapshot and, if drift is non-trivial, records it as an observation and a PWN::Memory :env fact so the NEXT session’s system prompt already knows the world moved. Never raises.\n"}]}
21
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.auto_extrospect Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.auto_extrospect`: Supported Method Parameters\n\nPWN::AI::Agent::Extrospection.auto_extrospect(\n\nsession_id: 'optional - id of the just-completed session (for tagging)'\n\n)\n\nCalled by Learning.auto_introspect when PWN::Env[:agent] is truthy. Captures a fresh snapshot and, if drift is non-trivial, records it as an observation and a PWN::Memory :env fact so the NEXT session’s system prompt already knows the world moved. Never raises.\n"}]}
22
22
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.auto_extrospect_enabled? Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.auto_extrospect_enabled?`: "}]}
23
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.capture_screenshot Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.capture_screenshot`: "}]}
24
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.commit_verdict Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.commit_verdict`: "}]}
23
25
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.compute_drift Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.compute_drift`: "}]}
24
26
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.correlate Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.correlate`: Supported Method Parameters\n\nfindings = PWN::AI::Agent::Extrospection.correlate(\n\nlimit: 'optional - max findings returned (default 10)'\n\n)\n\nTHE join between introspection and extrospection. Cross-references:\n\n* Metrics tools with success_rate < 50 % vs toolchain drift / missing bins\n* Learning failures vs host / net drift on the same day\n* Observations tagged :vuln / :intel vs installed package versions\n\nEmits human-readable, actionable findings the model can reason on.\n"}]}
27
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.detect_claim_kind Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.detect_claim_kind`: "}]}
25
28
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.drift Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.drift`: Supported Method Parameters\n\ndelta = PWN::AI::Agent::Extrospection.drift(\n\nlive: 'optional - probe host NOW and diff vs stored snapshot (default true). When false, diff stored :snapshot vs stored :previous.'\n\n)\n"}]}
29
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.extract_text Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.extract_text`: "}]}
30
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.fingerprint_page Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.fingerprint_page`: "}]}
26
31
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.flatten Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.flatten`: "}]}
32
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.fuzzy_overlap Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.fuzzy_overlap`: "}]}
27
33
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.help Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.help`: "}]}
28
34
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.http_get_json Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.http_get_json`: "}]}
29
35
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.intel Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.intel`: Supported Method Parameters\n\nhits = PWN::AI::Agent::Extrospection.intel(\n\nquery: 'required - keyword / product / CVE id to search external threat-intel for',\nfeeds: 'optional - Array subset of [:nvd, :circl, :exploitdb] (default all)',\nlimit: 'optional - max results per feed (default 5)',\nrecord: 'optional - also persist each hit as an observation (default false)'\n\n)\n\nBest-effort external lookups. Network / API failures degrade to an empty result for that feed rather than raising, so learning never breaks the primary loop when offline.\n"}]}
@@ -32,35 +38,43 @@
32
38
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.intel_nvd Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.intel_nvd`: "}]}
33
39
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.load Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.load`: Supported Method Parameters\n\nstore = PWN::AI::Agent::Extrospection.load\n"}]}
34
40
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.observations Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.observations`: Supported Method Parameters\n\nrows = PWN::AI::Agent::Extrospection.observations(\n\nlimit: 'optional - max entries newest-first (default 50)',\nsource: 'optional - filter by source substring',\ncategory: 'optional - filter by category',\ntarget: 'optional - filter by target substring',\ntag: 'optional - filter by tag substring',\nfresh_only: 'optional - drop entries whose ttl has expired (default false)'\n\n)\n"}]}
35
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.observe Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.observe`: Supported Method Parameters\n\nobs = PWN::AI::Agent::Extrospection.observe(\n\nsource: 'required - where the observation came from (nmap, shodan, burp, cve, human, ...)',\ndata: 'required - the observation payload (String or Hash)',\ncategory: 'optional - :recon, :vuln, :intel, :target, :network, :env, :rf, :misc (default :misc)',\ntarget: 'optional - host/ip/url/asset the observation is about',\ntags: 'optional - Array of String labels',\nttl: 'optional - seconds until this observation is considered stale (default nil = forever)'\n\n)\n\nRecords a fact about the OUTSIDE world (as opposed to Learning.note_outcome which records a fact about the agent’s own behaviour). Observations are re-injected via .to_context so recon findings and threat-intel persist across sessions.\n"}]}
41
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.observe Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.observe`: Supported Method Parameters\n\nobs = PWN::AI::Agent::Extrospection.observe(\n\nsource: 'required - where the observation came from (nmap, shodan, burp, cve, human, ...)',\ndata: 'required - the observation payload (String or Hash)',\ncategory: 'optional - :recon, :vuln, :intel, :target, :network, :env, :rf, :web, :misc (default :misc)',\ntarget: 'optional - host/ip/url/asset the observation is about',\ntags: 'optional - Array of String labels',\nttl: 'optional - seconds until this observation is considered stale (default nil = forever)'\n\n)\n\nRecords a fact about the OUTSIDE world (as opposed to Learning.note_outcome which records a fact about the agent’s own behaviour). Observations are re-injected via .to_context so recon findings and threat-intel persist across sessions.\n"}]}
36
42
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.probe_env Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.probe_env`: "}]}
37
43
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.probe_host Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.probe_host`: "}]}
38
44
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.probe_net Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.probe_net`: "}]}
39
45
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.probe_repo Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.probe_repo`: "}]}
40
46
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.probe_rf Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.probe_rf`: "}]}
41
47
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.probe_toolchain Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.probe_toolchain`: "}]}
48
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.probe_web Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.probe_web`: "}]}
42
49
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.reset Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.reset`: Supported Method Parameters\n\nPWN::AI::Agent::Extrospection.reset\n"}]}
50
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.revalidate_memory Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.revalidate_memory`: Supported Method Parameters\n\nreport = PWN::AI::Agent::Extrospection.revalidate_memory(\n\nlimit: 'optional - max :fact entries to check (default 25)',\nproxy: 'optional - upstream proxy for TransparentBrowser'\n\n)\n\nThe browser as garbage-collector for PWN::Memory. Walks :fact entries containing a CVE id, version string or URL, runs verify() on each and prefixes stale ones with [UNVERIFIED yyyy-mm-dd] so the injected MEMORY block stops calcifying into confidently-wrong priors. Designed to be scheduled: cron_create(schedule:‘0 4 * * 0’,\n\nruby:'PWN::AI::Agent::Extrospection.revalidate_memory')\n"}]}
43
51
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.rf_band_plan_keys Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.rf_band_plan_keys`: "}]}
44
52
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.rf_present? Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.rf_present?`: "}]}
53
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.safe_attr Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.safe_attr`: "}]}
54
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.safe_host Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.safe_host`: "}]}
55
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.safe_meta Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.safe_meta`: "}]}
45
56
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.save Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.save`: Supported Method Parameters\n\nPWN::AI::Agent::Extrospection.save(\n\nstore: 'required - Hash returned by .load / mutated in place'\n\n)\n"}]}
46
57
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.sh Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.sh`: "}]}
47
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.snapshot Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.snapshot`: Supported Method Parameters\n\nsnap = PWN::AI::Agent::Extrospection.snapshot(\n\npersist: 'optional - Boolean, write snapshot to disk & rotate previous (default true)',\nsections: 'optional - Array subset of [:host, :net, :toolchain, :repo, :env, :rf] (default all)'\n\n)\n\nCaptures a fingerprint of the OUTSIDE world. When persist:true the prior snapshot is rotated into :previous so .drift can diff them.\n"}]}
58
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.snapshot Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.snapshot`: Supported Method Parameters\n\nsnap = PWN::AI::Agent::Extrospection.snapshot(\n\npersist: 'optional - Boolean, write snapshot to disk & rotate previous (default true)',\nsections: 'optional - Array subset of [:host, :net, :toolchain, :repo, :env, :rf, :web] (default all except :web)'\n\n)\n\nCaptures a fingerprint of the OUTSIDE world. When persist:true the prior snapshot is rotated into :previous so .drift can diff them.\n"}]}
48
59
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.stats Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.stats`: Supported Method Parameters\n\nstats = PWN::AI::Agent::Extrospection.stats\n"}]}
49
60
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.summarise_drift Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.summarise_drift`: "}]}
50
61
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.tcp_open? Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.tcp_open?`: "}]}
62
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.tls_fingerprint Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.tls_fingerprint`: "}]}
51
63
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.to_context Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.to_context`: Supported Method Parameters\n\nctx = PWN::AI::Agent::Extrospection.to_context(\n\ndrift_limit: 'optional - max drift lines (default 4)',\nobs_limit: 'optional - max observation lines (default 4)'\n\n)\n"}]}
64
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.verify Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.verify`: Supported Method Parameters\n\nverdict = PWN::AI::Agent::Extrospection.verify(\n\nclaim: 'required - factual claim to fact-check against the live web',\nkind: 'optional - :cve | :version | :doc | :generic (default auto-detect)',\nurl: 'optional - explicit URL the claim cites (forces kind: :doc)',\ncommit: 'optional - write Mistakes/Memory/observe on refute/confirm (default true)',\nproxy: 'optional - upstream proxy for TransparentBrowser (e.g. \"tor\")'\n\n)\n\nBrowser-backed self fact-checking. Drives PWN::Plugins::TransparentBrowser in :headless mode against a canonical source for the claim class, renders the DOM (JS executed), and returns:\n\n{ claim:, kind:, verdict: :confirmed|:refuted|:unknown,\n confidence: 0.0..1.0,\n evidence: [{url:, title:, excerpt:, dom_sha:, screenshot:}],\n action_taken: :mistakes_record | :extro_observe | :learning_note | nil }\n\n\nOn :refuted -> Mistakes.record(tool:‘assumption’, error:claim) so the\n\nKNOWN MISTAKES block warns every future run.\n\nOn :confirmed-> observe(category::intel, ttl:30d) reinforces w/ freshness. On :unknown -> Learning.note_outcome(success:false, tags:).\n\nThis is the extrospective mirror of Mistakes: a PROACTIVE trigger that catches the model being wrong about the world before a human does.\n"}]}
65
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.watch Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.watch`: Supported Method Parameters\n\nobs = PWN::AI::Agent::Extrospection.watch(\n\nurl: 'required - URL to render and fingerprint',\nselector: 'optional - CSS selector whose innerText to hash (default full body)',\nttl: 'optional - seconds until stale (default 7 days)',\nproxy: 'optional - upstream proxy for TransparentBrowser'\n\n)\n\nPassive change-detection on an external artefact you care about (target /api/version, vendor changelog, bounty scope page). Renders headless, hashes the DOM text, screenshots, and persists as observe(category: :web). On subsequent snapshot(sections:) or watch of the same URL, a hash mismatch surfaces in drift() as ~web.<host>.dom_sha exactly like ~toolchain.nmap today.\n"}]}
66
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.web_anchors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.web_anchors`: "}]}
67
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.web_config Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.web_config`: "}]}
68
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Extrospection.with_headless_browser Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Extrospection.with_headless_browser`: "}]}
52
69
  {"messages":[{"role":"user","content":"PWN::AI::Agent::GQRX.analyze Usage"},{"role":"assistant","content":"`PWN::AI::Agent::GQRX.analyze`: Supported Method Parameters\n\nai_analysis = PWN::AI::Agent::GQRX.analyze(\n\nrequest: 'required - A string containing the signal data captured by GQRX that you want to analyze. This data should be in a format that can be interpreted by the AI for analysis, such as raw signal data, frequency information, or any relevant metadata associated with the capture.',\nlocation: 'required - A string containing a city, state, country, or GPS coordinates where the signal data was captured. This information will be used to provide context for the analysis and to determine if the frequency is licensed or unlicensed based on FCC records.'\n\n)\n"}]}
53
70
  {"messages":[{"role":"user","content":"PWN::AI::Agent::GQRX.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::GQRX.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
54
71
  {"messages":[{"role":"user","content":"PWN::AI::Agent::GQRX.help Usage"},{"role":"assistant","content":"`PWN::AI::Agent::GQRX.help`: "}]}
55
72
  {"messages":[{"role":"user","content":"PWN::AI::Agent::HackerOne.analyze Usage"},{"role":"assistant","content":"`PWN::AI::Agent::HackerOne.analyze`: Supported Method Parameters\n\nai_analysis = PWN::AI::Agent::HackerOne.analyze(\n\nrequest: 'required - dataset to analyze, such as bounty program details, scope details, or hacktivity details'\ntype: 'required - type of analysis to perform, such as :bounty_programs, :scope_details, or :hacktivity'\n\n)\n"}]}
56
73
  {"messages":[{"role":"user","content":"PWN::AI::Agent::HackerOne.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::HackerOne.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
57
74
  {"messages":[{"role":"user","content":"PWN::AI::Agent::HackerOne.help Usage"},{"role":"assistant","content":"`PWN::AI::Agent::HackerOne.help`: "}]}
58
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Introspection.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Introspection.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
59
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Introspection.help Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Introspection.help`: "}]}
60
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Introspection.reflect_on Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Introspection.reflect_on`: Supported Method Parameters\n\nresponse = PWN::AI::Agent::Introspection.reflect_on(\n\nrequest: 'required - String - What you want the AI to reflect on',\nsystem_role_content: 'optional - context to set up the model behavior for reflection',\nspinner: 'optional - Boolean - Display spinner during operation (default: false)',\nsuppress_pii_warning: 'optional - Boolean - Suppress PII Warnings (default: false)'\n\n)\n"}]}
61
75
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
62
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.auto_reflect Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.auto_reflect`: Supported Method Parameters\n\nPWN::AI::Agent::Learning.auto_reflect(\n\nsession_id: 'required - id of the just-completed session',\nrequest: 'optional - original user request (for outcome logging)',\nfinal: 'optional - final assistant answer (for outcome logging)'\n\n)\n\nCalled by Loop.run when PWN::Env[:agent] is truthy. Never raises — learning must not break the primary loop.\n"}]}
63
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.auto_reflect_enabled? Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.auto_reflect_enabled?`: "}]}
76
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.auto_introspect Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.auto_introspect`: Supported Method Parameters\n\nPWN::AI::Agent::Learning.auto_introspect(\n\nsession_id: 'required - id of the just-completed session',\nrequest: 'optional - original user request (for outcome logging)',\nfinal: 'optional - final assistant answer (for outcome logging)'\n\n)\n\nCalled by Loop.run when PWN::Env[:agent] is truthy. Never raises — learning must not break the primary loop.\n"}]}
77
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.auto_introspect_enabled? Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.auto_introspect_enabled?`: "}]}
64
78
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.build_skill_from_session Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.build_skill_from_session`: "}]}
65
79
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.consolidate Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.consolidate`: Supported Method Parameters\n\nremoved = PWN::AI::Agent::Learning.consolidate(\n\nmax_entries: 'optional - hard cap on PWN::Memory size (default MAX_MEMORY_ENTRIES)'\n\n)\n\nDeduplicates near-identical lesson values and prunes the oldest entries once the cap is exceeded so the injected MEMORY block stays high-signal.\n"}]}
66
80
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.distill_skill Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.distill_skill`: Supported Method Parameters\n\nskill = PWN::AI::Agent::Learning.distill_skill(\n\nname: 'required - snake_case name for the new skill',\nsession_id: 'optional - PWN::Sessions id to mine (uses its transcript)',\ncontent: 'optional - explicit markdown body; overrides transcript mining',\nreferences: 'optional - Array of reference URLs / CWE / CVE / ATT&CK ids'\n\n)\n"}]}
@@ -71,7 +85,7 @@
71
85
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.introspective_lessons Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.introspective_lessons`: "}]}
72
86
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.note_outcome Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.note_outcome`: Supported Method Parameters\n\nentry = PWN::AI::Agent::Learning.note_outcome(\n\ntask: 'required - short description of what was attempted',\nsuccess: 'required - Boolean, did the attempt achieve its goal',\ndetails: 'optional - free-form notes / error / evidence',\nsession_id: 'optional - PWN::Sessions id this outcome belongs to',\ntags: 'optional - Array of String labels for later retrieval'\n\n)\n"}]}
73
87
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.outcomes Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.outcomes`: Supported Method Parameters\n\nrows = PWN::AI::Agent::Learning.outcomes(\n\nlimit: 'optional - max entries returned newest-first (default 50)',\nsuccess: 'optional - filter by Boolean outcome',\ntag: 'optional - filter by tag substring'\n\n)\n"}]}
74
- {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.reflect Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.reflect`: Supported Method Parameters\n\nreport = PWN::AI::Agent::Learning.reflect(\n\nsession_id: 'required - PWN::Sessions id to analyse',\ndry_run: 'optional - when true, do not write to Memory/Skills (default false)'\n\n)\n\nUses PWN::AI::Agent::Introspection (when available) to LLM-summarise the session into structured lessons. Falls back to a heuristic extractor when introspection is disabled so learning never stops.\n"}]}
88
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.reflect Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.reflect`: Supported Method Parameters\n\nreport = PWN::AI::Agent::Learning.reflect(\n\nsession_id: 'required - PWN::Sessions id to analyse',\ndry_run: 'optional - when true, do not write to Memory/Skills (default false)'\n\n)\n\nUses PWN::AI::Agent::Reflect (when available) to LLM-summarise the session into structured lessons. Falls back to a heuristic extractor when module_reflection is disabled so learning never stops.\n"}]}
75
89
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.reset Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.reset`: Supported Method Parameters\n\nPWN::AI::Agent::Learning.reset\n"}]}
76
90
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.skills_dir Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.skills_dir`: "}]}
77
91
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Learning.stats Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Learning.stats`: Supported Method Parameters\n\nstats = PWN::AI::Agent::Learning.stats\n"}]}
@@ -125,6 +139,9 @@
125
139
  {"messages":[{"role":"user","content":"PWN::AI::Agent::PromptBuilder.mistakes_block Usage"},{"role":"assistant","content":"`PWN::AI::Agent::PromptBuilder.mistakes_block`: "}]}
126
140
  {"messages":[{"role":"user","content":"PWN::AI::Agent::PromptBuilder.pwn_version Usage"},{"role":"assistant","content":"`PWN::AI::Agent::PromptBuilder.pwn_version`: "}]}
127
141
  {"messages":[{"role":"user","content":"PWN::AI::Agent::PromptBuilder.skills_block Usage"},{"role":"assistant","content":"`PWN::AI::Agent::PromptBuilder.skills_block`: "}]}
142
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Reflect.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Reflect.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
143
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Reflect.help Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Reflect.help`: "}]}
144
+ {"messages":[{"role":"user","content":"PWN::AI::Agent::Reflect.on Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Reflect.on`: Supported Method Parameters\n\nresponse = PWN::AI::Agent::Reflect.on(\n\nrequest: 'required - String - What you want the AI to reflect on',\nsystem_role_content: 'optional - context to set up the model behavior for reflection',\nspinner: 'optional - Boolean - Display spinner during operation (default: false)',\nsuppress_pii_warning: 'optional - Boolean - Suppress PII Warnings (default: false)'\n\n)\n"}]}
128
145
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Registry.all Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Registry.all`: Supported Method Parameters\n\nentries = PWN::AI::Agent::Registry.all\n"}]}
129
146
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Registry.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Registry.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
130
147
  {"messages":[{"role":"user","content":"PWN::AI::Agent::Registry.definitions Usage"},{"role":"assistant","content":"`PWN::AI::Agent::Registry.definitions`: Supported Method Parameters\n\ntools = PWN::AI::Agent::Registry.definitions(\n\nenabled: 'optional - Array of toolset names to include; nil = all whose check passes'\n\n)\n"}]}
@@ -1546,6 +1563,8 @@
1546
1563
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::APT.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::APT.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1547
1564
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::APT.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::APT.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::APT.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1548
1565
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::APT.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::APT.help`: "}]}
1566
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::APT::Demod.new Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::APT::Demod.new`: "}]}
1567
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::APT::Demod.feed Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::APT::Demod.feed`: "}]}
1549
1568
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Base.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Base.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1550
1569
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Base.build_spinner Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Base.build_spinner`: Supported Method Parameters\n\nspinner, max_len = PWN::SDR::Decoder::Base.build_spinner(banner: ‘…’)\n"}]}
1551
1570
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Base.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Base.help`: "}]}
@@ -1580,13 +1599,20 @@
1580
1599
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::DSP.resample Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::DSP.resample`: Supported Method Parameters\n\nout = PWN::SDR::Decoder::DSP.resample(\n\nsamples: 'required - Array<Float>',\nsrc_rate: 'required - input sample rate (Hz)',\ndst_rate: 'required - output sample rate (Hz)'\n\n)\n"}]}
1581
1600
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::DSP.rms_dbfs Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::DSP.rms_dbfs`: Supported Method Parameters\n\ndbfs = PWN::SDR::Decoder::DSP.rms_dbfs(samples: Array<Float>)\n"}]}
1582
1601
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::DSP.unpack_s16le Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::DSP.unpack_s16le`: Supported Method Parameters\n\nsamples = PWN::SDR::Decoder::DSP.unpack_s16le(\n\ndata: 'required - raw String of little-endian signed 16-bit PCM'\n\n)\n"}]}
1602
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.alpha_decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.alpha_decode`: Supported Method Parameters\n\nstr = PWN::SDR::Decoder::Flex.alpha_decode(words: [Integer, …])\n"}]}
1583
1603
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1584
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.decode`: Supported Method Parameters\n\npocsag_resp = PWN::SDR::Decoder::Flex.decode(\n\nfreq_obj: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
1604
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::Flex.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1605
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.decode_bits Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.decode_bits`: Supported Method Parameters\n\ncarry = PWN::SDR::Decoder::Flex.decode_bits(bits: […]) { |msg| … }\n"}]}
1606
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.emit_frame Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.emit_frame`: Supported Method Parameters\n\nPWN::SDR::Decoder::Flex.emit_frame(words:, cycle:, frame:, speed:) { |msg| … }\n"}]}
1585
1607
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.help`: "}]}
1608
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.hex_decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.hex_decode`: Supported Method Parameters\n\nstr = PWN::SDR::Decoder::Flex.hex_decode(words: [Integer, …])\n"}]}
1609
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.numeric_decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.numeric_decode`: Supported Method Parameters\n\nstr = PWN::SDR::Decoder::Flex.numeric_decode(words: [Integer, …])\n"}]}
1610
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex::Demod.new Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex::Demod.new`: "}]}
1611
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex::Demod.feed Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex::Demod.feed`: "}]}
1586
1612
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GPS.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GPS.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1587
1613
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GPS.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GPS.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::GPS.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1588
1614
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GPS.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GPS.help`: "}]}
1589
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GPS.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GPS.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::GPS.parse_line(line: ‘Position at … Lat = 32.7 [deg], Long = -97.1 …’)\n"}]}
1615
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GPS.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GPS.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::GPS.parse_line(line: ‘Position at … Lat = 32.7 [deg] …’)\n"}]}
1590
1616
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1591
1617
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::GSM.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1592
1618
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.help`: "}]}
@@ -1598,27 +1624,35 @@
1598
1624
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LTE.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LTE.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1599
1625
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LTE.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LTE.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::LTE.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1600
1626
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LTE.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LTE.help`: "}]}
1601
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LTE.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LTE.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::LTE.parse_line(line: ‘Found CELL … PCI: 123 … PRB: 50 … -85.0 dBm’)\n"}]}
1627
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LTE.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LTE.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::LTE.parse_line(line: ‘Found CELL … PCI: 123 …’)\n"}]}
1602
1628
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LoRa.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LoRa.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1603
1629
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LoRa.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LoRa.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::LoRa.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1604
1630
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LoRa.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LoRa.help`: "}]}
1605
1631
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::LoRa.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::LoRa.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::LoRa.parse_line(line: ‘{“model”:“LoRa”,…}’)\n"}]}
1606
1632
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Morse.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Morse.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1607
1633
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Morse.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Morse.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::Morse.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1634
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Morse.decode_string Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Morse.decode_string`: Supported Method Parameters\n\nh = PWN::SDR::Decoder::Morse.decode_string(pattern: ‘.- -…’)\n"}]}
1608
1635
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Morse.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Morse.help`: "}]}
1609
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Morse.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Morse.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::Morse.parse_line(line: ‘CQ CQ DE W1AW’)\n"}]}
1636
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Morse::Demod.new Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Morse::Demod.new`: "}]}
1637
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Morse::Demod.feed Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Morse::Demod.feed`: "}]}
1610
1638
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::P25.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::P25.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1611
1639
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::P25.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::P25.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::P25.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1612
1640
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::P25.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::P25.help`: "}]}
1613
1641
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::P25.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::P25.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::P25.parse_line(line: ‘Sync: +P25p1 NAC: 293 src: 1234 tg: 5678’)\n"}]}
1642
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.alpha_decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.alpha_decode`: Supported Method Parameters\n\nstr = PWN::SDR::Decoder::POCSAG.alpha_decode(words: [Integer, …])\n"}]}
1643
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.assemble Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.assemble`: Supported Method Parameters\n\nh = PWN::SDR::Decoder::POCSAG.assemble(pending: {ric:,func:,msg_words:}, baud: 1200)\n"}]}
1614
1644
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1615
1645
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::POCSAG.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1646
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.decode_bits Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.decode_bits`: Supported Method Parameters\n\ncarry = PWN::SDR::Decoder::POCSAG.decode_bits(bits: […], baud: 1200) { |msg| … } Returns the trailing (unconsumed) bits so the caller can prepend them to the next chunk for streaming continuity.\n"}]}
1616
1647
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.help`: "}]}
1617
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::POCSAG.parse_line(line: ‘POCSAG1200: Address: …’)\n"}]}
1648
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.numeric_decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.numeric_decode`: Supported Method Parameters\n\nstr = PWN::SDR::Decoder::POCSAG.numeric_decode(words: [Integer, …])\n"}]}
1649
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG::Demod.new Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG::Demod.new`: "}]}
1650
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG::Demod.feed Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG::Demod.feed`: "}]}
1618
1651
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Pager.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Pager.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1619
1652
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Pager.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Pager.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::Pager.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1620
1653
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Pager.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Pager.help`: "}]}
1621
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Pager.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Pager.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::Pager.parse_line(line: ‘FLEX|… or POCSAG1200: …’)\n"}]}
1654
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Pager::Demod.new Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Pager::Demod.new`: "}]}
1655
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Pager::Demod.feed Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Pager::Demod.feed`: "}]}
1622
1656
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1623
1657
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.decode`: Supported Method Parameters\n\nrds_resp = PWN::SDR::Decoder::RDS.decode(\n\nfreq_obj: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
1624
1658
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.help`: "}]}
@@ -1633,7 +1667,8 @@
1633
1667
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RTTY.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RTTY.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1634
1668
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RTTY.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RTTY.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::RTTY.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1635
1669
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RTTY.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RTTY.help`: "}]}
1636
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RTTY.parse_line Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RTTY.parse_line`: Supported Method Parameters\n\nPWN::SDR::Decoder::RTTY.parse_line(line: ‘RYRYRY DE W1AW’)\n"}]}
1670
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RTTY::Demod.new Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RTTY::Demod.new`: "}]}
1671
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RTTY::Demod.feed Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RTTY::Demod.feed`: "}]}
1637
1672
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::WiFi.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::WiFi.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1638
1673
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::WiFi.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::WiFi.decode`: Supported Method Parameters\n\nPWN::SDR::Decoder::WiFi.decode(\n\nfreq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'\n\n)\n"}]}
1639
1674
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::WiFi.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::WiFi.help`: "}]}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.621
4
+ version: 0.5.622
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -547,14 +547,14 @@ dependencies:
547
547
  requirements:
548
548
  - - '='
549
549
  - !ruby/object:Gem::Version
550
- version: 0.0.169
550
+ version: 0.0.171
551
551
  type: :runtime
552
552
  prerelease: false
553
553
  version_requirements: !ruby/object:Gem::Requirement
554
554
  requirements:
555
555
  - - '='
556
556
  - !ruby/object:Gem::Version
557
- version: 0.0.169
557
+ version: 0.0.171
558
558
  - !ruby/object:Gem::Dependency
559
559
  name: metasm
560
560
  requirement: !ruby/object:Gem::Requirement
@@ -1874,12 +1874,12 @@ files:
1874
1874
  - lib/pwn/ai/agent/extrospection.rb
1875
1875
  - lib/pwn/ai/agent/gqrx.rb
1876
1876
  - lib/pwn/ai/agent/hacker_one.rb
1877
- - lib/pwn/ai/agent/introspection.rb
1878
1877
  - lib/pwn/ai/agent/learning.rb
1879
1878
  - lib/pwn/ai/agent/loop.rb
1880
1879
  - lib/pwn/ai/agent/metrics.rb
1881
1880
  - lib/pwn/ai/agent/mistakes.rb
1882
1881
  - lib/pwn/ai/agent/prompt_builder.rb
1882
+ - lib/pwn/ai/agent/reflect.rb
1883
1883
  - lib/pwn/ai/agent/registry.rb
1884
1884
  - lib/pwn/ai/agent/result.rb
1885
1885
  - lib/pwn/ai/agent/sast.rb
@@ -2289,12 +2289,12 @@ files:
2289
2289
  - spec/lib/pwn/ai/agent/extrospection_spec.rb
2290
2290
  - spec/lib/pwn/ai/agent/gqrx_spec.rb
2291
2291
  - spec/lib/pwn/ai/agent/hacker_one_spec.rb
2292
- - spec/lib/pwn/ai/agent/introspection_spec.rb
2293
2292
  - spec/lib/pwn/ai/agent/learning_spec.rb
2294
2293
  - spec/lib/pwn/ai/agent/loop_spec.rb
2295
2294
  - spec/lib/pwn/ai/agent/metrics_spec.rb
2296
2295
  - spec/lib/pwn/ai/agent/mistakes_spec.rb
2297
2296
  - spec/lib/pwn/ai/agent/prompt_builder_spec.rb
2297
+ - spec/lib/pwn/ai/agent/reflect_spec.rb
2298
2298
  - spec/lib/pwn/ai/agent/registry_spec.rb
2299
2299
  - spec/lib/pwn/ai/agent/result_spec.rb
2300
2300
  - spec/lib/pwn/ai/agent/sast_spec.rb