kira-wallet 0.1.16 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/RELEASE.md +34 -6
- package/kira_agent.py +4 -2
- package/package.json +1 -1
package/docs/RELEASE.md
CHANGED
|
@@ -79,7 +79,7 @@ The earlier unpublished 0.1.2 candidate is preserved in the ignored
|
|
|
79
79
|
`dist/preserved-0.1.2-bad8f02/` directory. Use the current `dist/release.json`
|
|
80
80
|
and its matching archive for publication; do not mix manifests from candidates.
|
|
81
81
|
|
|
82
|
-
Keep published GitHub tags, release assets and npm versions through 0.1.
|
|
82
|
+
Keep published GitHub tags, release assets and npm versions through 0.1.16
|
|
83
83
|
immutable. Do not rebuild them from later documentation commits. Future package
|
|
84
84
|
changes need a new version. Release preparation does not publish a GitHub
|
|
85
85
|
release, promote the website or publish to npm.
|
|
@@ -95,12 +95,12 @@ python3 scripts/prepare-release.py
|
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
`prepare-release.py` scans the package boundary and creates
|
|
98
|
-
`dist/kira-wallet-0.1.
|
|
98
|
+
`dist/kira-wallet-0.1.17.tgz`. The ignored `dist/release.json` records its source
|
|
99
99
|
commit, SHA-256 and member count. It never publishes. After reviewing that
|
|
100
100
|
manifest, the operator's final command from the project root is:
|
|
101
101
|
|
|
102
102
|
```sh
|
|
103
|
-
npm publish ./dist/kira-wallet-0.1.
|
|
103
|
+
npm publish ./dist/kira-wallet-0.1.17.tgz --access public
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
Use the operator's npm account and complete authentication or OTP personally.
|
|
@@ -433,7 +433,7 @@ personal 0.1.14 installation, credentials, paused history and published archives
|
|
|
433
433
|
Use a separate private workspace for candidate acceptance. No GitHub release,
|
|
434
434
|
website deployment or personal app upgrade is part of this preparation.
|
|
435
435
|
|
|
436
|
-
##
|
|
436
|
+
## Published 0.1.16
|
|
437
437
|
|
|
438
438
|
This version repairs Mint Club symbol routes, including ERC1155 NFT routes and
|
|
439
439
|
encoded symbols, without rewriting historical snapshots. Market lookup attaches
|
|
@@ -487,5 +487,33 @@ history privacy checks, exact archive membership, real unchanged natural-languag
|
|
|
487
487
|
questions and responsive market interactions. Review not selected. Publication
|
|
488
488
|
remains operator-only. A feature-branch candidate is not a merged release or a
|
|
489
489
|
published package; the final manifest must identify the accepted source commit.
|
|
490
|
-
|
|
491
|
-
|
|
490
|
+
The final 0.1.16 archive was frozen from landed source. Superseded unpublished
|
|
491
|
+
candidates are preserved. Only the archive matching its final manifest was a
|
|
492
|
+
publication target.
|
|
493
|
+
|
|
494
|
+
The operator published 0.1.16 on October 20, 2026. Its registry archive matched
|
|
495
|
+
the frozen manifest and all 101 installed package members. Live acceptance
|
|
496
|
+
found the agent-context omission addressed in 0.1.17 below. The published
|
|
497
|
+
archive remains immutable.
|
|
498
|
+
|
|
499
|
+
## Release candidate: 0.1.17
|
|
500
|
+
|
|
501
|
+
After a price refresh saved a full-balance DEX quote, chat could report that no
|
|
502
|
+
estimate existed while the UI displayed it. Detailed agent facts now include
|
|
503
|
+
the same validated `sell_out` projection used by the UI. Compact holdings pages
|
|
504
|
+
retain quote presence and defer the detailed output to a scoped token read.
|
|
505
|
+
The separate legacy Mint Club burn field does not represent every sale route.
|
|
506
|
+
|
|
507
|
+
Output amounts, quote and price observation times, reference valuations, gas
|
|
508
|
+
exclusions and execution caveats stay intact. Wrong-wallet caches, partial
|
|
509
|
+
inputs and testnet positions remain excluded. Independent wallet estimates
|
|
510
|
+
sharing liquidity cannot be added into portfolio proceeds. This change adds
|
|
511
|
+
no provider calls or quote calculations.
|
|
512
|
+
|
|
513
|
+
Acceptance includes the full repository suite, clean installation, tracked and
|
|
514
|
+
history privacy checks, and exact archive membership. An isolated exact package
|
|
515
|
+
using the same saved records, model settings, prior conversation and unchanged
|
|
516
|
+
question returned the recorded DEX output and reference valuation without
|
|
517
|
+
starting provider jobs. Product acceptance applies only to identical product
|
|
518
|
+
bytes. Review not selected. Freeze the final archive from the landed source
|
|
519
|
+
and dry-run that archive. npm publication remains operator-only.
|
package/kira_agent.py
CHANGED
|
@@ -32,7 +32,8 @@ SYSTEM = ('You are Kira, a careful wallet research partner. Answer in the langua
|
|
|
32
32
|
'Use token_read before judging or retracting market details when pools are omitted. Testnet assets are excluded from portfolio valuation; do not infer a zero market price. '
|
|
33
33
|
'Use holdings_query search for token names or symbols, rank for top-N, and aggregate for counts and sums. These scan every approved saved holding on the host and return bounded results. Never page through inventories for ranking, counting or named-token questions. Use one search per named token, optionally chain-filtered. Report same-symbol ambiguity with chain and contract. Rank group_by asset combines the priced subset by identity; group_by position ranks wallet positions. Unknown prices are excluded from ranks and counted separately. '
|
|
34
34
|
'assets_omitted and next_offset describe a page, not missing holdings. Use wallet_read with offset and limit for more holdings, and token_read for detailed evidence. '
|
|
35
|
-
'Compact pages defer exit_quote and curve details. exit_quote_recorded true means a validated
|
|
35
|
+
'Compact pages defer sell_out, exit_quote and curve details. exit_quote_recorded true means a validated saved full-balance quote exists, including cached DEX quotes, even if its output is omitted here. Use token_read before judging execution evidence or claiming that a quote is absent. False means no validated quote in these records, not that no exit route exists. '
|
|
36
|
+
'sell_out is the same saved full-balance estimate shown in the wallet UI. exit_quote is the separate Mint Club burn record; a null exit_quote does not invalidate a sell_out quote. Preserve sell_out output amount, token, quote time, output_price time, valuation and gas/execution flags. Its value_usd is a reference valuation of the received token, not verified dollar sale proceeds. reserve_reference values only the burn output; terminal_reference uses a recorded terminal route. Neither guarantees execution. Keep estimates per wallet and never sum independent quotes using shared liquidity. '
|
|
36
37
|
'Only an unfiltered complete inventory needs every holdings page. For that request, follow next_offset for each approved wallet using limit 100 and state which pages remain unread if the budget prevents completion. '
|
|
37
38
|
'A question about a specific token or native asset across all wallets or networks is a filtered query. token_read already returns that asset across every approved wallet, including saved native observations. Do not enumerate unrelated wallet inventory pages for a token-specific question. Inventory pages defer curve and exit details to token_read. '
|
|
38
39
|
'For USD-threshold questions, pass minimum_value_usd to token_read. Use the exact returned position_count, including the combined records_read count, rather than counting rows yourself. Unpriced and outside-USD positions are reported separately, not valued at zero. '
|
|
@@ -364,7 +365,8 @@ def wallet_facts(wallets, *, pool_budget=40_000):
|
|
|
364
365
|
if item['archived']:item['historical_value_usd']=asset.get('historical_value_usd')
|
|
365
366
|
item['price'] = pick(asset['price'],('usd','basis','quality','observed_at')) if asset.get('price') else None
|
|
366
367
|
item['exit_quote'] = asset.get('exit_quote')
|
|
367
|
-
item['
|
|
368
|
+
item['sell_out'] = asset.get('sell_out')
|
|
369
|
+
item['exit_quote_recorded'] = item['exit_quote'] is not None or item['sell_out'] is not None
|
|
368
370
|
item['exit_route'] = asset.get('exit_route')
|
|
369
371
|
item['markets'] = asset.get('links',[])
|
|
370
372
|
pools=asset.get('market_pools',[]);item['pools']=[];item['pools_recorded']=len(pools)
|
package/package.json
CHANGED