aids 1.0.1 → 1.0.3

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aids.rb +3 -2
  3. data/lib/app.rb +12 -10
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4602f3e7991c9b5ae3e98e512b153aee77ab8f087d3c825334d3da74fd4f671d
4
- data.tar.gz: b59f603e9faaf95c9dd6f6cc2a427e86529971f1ebe70bd3128430a2749310df
3
+ metadata.gz: e60e41121f7a2b87f9eabf7da50f3db77f1c39c29d92387aea3574a92e6879ad
4
+ data.tar.gz: 5530066dc015f810cf9c5e20c6d058e08349f380b7a0f7ea0267fea6ba1c2f8c
5
5
  SHA512:
6
- metadata.gz: d6c5fb9d07be2e3b2c569794f81cf5524fdf2b4bdfb60db2c26e4418b878db3d1be63dbd600625b97a5810653dc68374dc59cac2a6e3bb999078f367d6b0148a
7
- data.tar.gz: b5eecfa573d111c185fb4e91d1650499b64bd910c8b678af532ad98bcbb9d3d5a8adebc2a2f92154d06b7724e1b142800bc74f8b9a086429a3e3d57cbb618fc5
6
+ metadata.gz: db161e59e16a9a9fdb06a53bad67206e536d12093dd4b22b6f1fbc9fb9cba277ae5cbec3309d28b300e33cb6d1020fcb5ef4b0a82aae58a4dc0cef26480a86b9
7
+ data.tar.gz: 835b58458d85c051651a45f3574d24f6d80567d528666a4b5545331f2ea34ebcb05c9f704cd48e58328b9099a3e4b4ff8de0efde0d08ef820b9a86e9e2e3928b
data/lib/aids.rb CHANGED
@@ -107,15 +107,16 @@ module AI
107
107
 
108
108
  # ── Entry point ──────────────────────────────────────────────────────
109
109
  def self.run(argv = ARGV)
110
- resume = false
110
+ resume = false; temp = false
111
111
  rest = OptionParser.new { |o|
112
112
  o.on("-c", "--continue") { resume = true }
113
+ o.on("-t", "--temp") { temp = true }
113
114
  o.on("--history") { exec("lf", DATA_DIR) }
114
115
  o.on("--clean") { clean!; exit }
115
116
  }.order(argv)
116
117
 
117
118
  key = ENV["DEEPSEEK_API_KEY"] or abort "#{Ansi.fg(196)}DEEPSEEK_API_KEY not set#{Ansi.reset}"
118
- app = App.new(key: key, profile: Profile.load, resume: resume)
119
+ app = App.new(key: key, profile: Profile.load, resume: resume, temp: temp)
119
120
 
120
121
  piped = $stdin.tty? ? "" : $stdin.read.strip
121
122
  text = [piped, rest.join(" ")].map(&:strip).reject(&:empty?).join(" ")
data/lib/app.rb CHANGED
@@ -8,8 +8,8 @@ module AI
8
8
 
9
9
  attr_reader :session, :attachments
10
10
 
11
- def initialize(key:, profile:, resume: false)
12
- @key = key; @profile = profile
11
+ def initialize(key:, profile:, resume: false, temp: false)
12
+ @key = key; @profile = profile; @temp = temp
13
13
  @editor = LineEditor.new
14
14
  @editor.completer = ->(prefix) { complete(prefix) }
15
15
  @hl = Highlighter.new
@@ -43,10 +43,10 @@ module AI
43
43
  @session.add_turn(text, reply, usage, attachments: attached_data)
44
44
  @attachments = []
45
45
  AI.print_usage(usage)
46
- @session.save(p)
46
+ @session.save(p) unless @temp
47
47
  @fresh = false
48
- Stats.record(usage)
49
- kick_title_fetch if @session.title.nil? && @session.messages.length >= 2
48
+ Stats.record(usage) unless @temp
49
+ kick_title_fetch unless @temp
50
50
  end
51
51
 
52
52
  def discard(arg)
@@ -76,7 +76,7 @@ module AI
76
76
  redraw
77
77
  notify "\u2212 discarded #{removed} turn#{removed == 1 ? "" : "s"} · session is now empty"
78
78
  else
79
- @session.save(@profile)
79
+ @session.save(@profile) unless @temp
80
80
  redraw
81
81
  notify "\u2212 discarded #{removed} turn#{removed == 1 ? "" : "s"}"
82
82
  end
@@ -92,7 +92,7 @@ module AI
92
92
  return
93
93
  end
94
94
  @session.title = text
95
- @session.save(@profile)
95
+ @session.save(@profile) unless @temp
96
96
  redraw
97
97
  notify "title set"
98
98
  end
@@ -104,8 +104,10 @@ module AI
104
104
  dup.messages = Marshal.load(Marshal.dump(src.messages))
105
105
  dup.usages = Marshal.load(Marshal.dump(src.usages))
106
106
  dup.title = src.title ? "#{src.title} (clone)" : "(clone)"
107
- dup.save(@profile)
108
- FileUtils.cp(src.history_file, dup.history_file) if File.exist?(src.history_file)
107
+ unless @temp
108
+ dup.save(@profile)
109
+ FileUtils.cp(src.history_file, dup.history_file) if File.exist?(src.history_file)
110
+ end
109
111
  @session = dup
110
112
  @fresh = false
111
113
  load_history
@@ -404,7 +406,7 @@ module AI
404
406
  end
405
407
 
406
408
  def save_history
407
- return if @editor.history.empty?
409
+ return if @temp || @editor.history.empty?
408
410
  FileUtils.mkdir_p(META_DIR)
409
411
  File.write(@session.history_file, @editor.history.last(1000).join("\n"))
410
412
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aids
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - emanrdesu