Module: Kward::RPC::RuntimePayloads
- Defined in:
- lib/kward/rpc/runtime_payloads.rb
Class Method Summary collapse
- .default_model_label(model) ⇒ Object
- .session(rpc_session, modified_at:, active_persona_label: nil) ⇒ Object
- .state(session:, model:, streaming:, steering_supported:, auto_compaction_reserve_tokens:, active_persona_label:, message_count:, pending_count:, compaction_enabled:, workspace_guardrails_enabled:) ⇒ Object
- .stats(session:, counts:, model:, auto_compaction_reserve_tokens:, context_usage:, compaction_enabled:) ⇒ Object
Class Method Details
.default_model_label(model) ⇒ Object
72 73 74 75 76 |
# File 'lib/kward/rpc/runtime_payloads.rb', line 72 def default_model_label(model) return nil if model[:provider].to_s.empty? || model[:id].to_s.empty? "#{model[:provider]}/#{model[:id]}" end |
.session(rpc_session, modified_at:, active_persona_label: nil) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/kward/rpc/runtime_payloads.rb', line 56 def session(rpc_session, modified_at:, active_persona_label: nil) { id: rpc_session.id, persistentId: rpc_session.session.id, path: rpc_session.session.path, workspaceRoot: rpc_session.workspace_root, cwd: rpc_session.session.cwd.to_s.empty? ? rpc_session.workspace_root : rpc_session.session.cwd, name: rpc_session.session.name, createdAt: rpc_session.session.created_at&.utc&.iso8601(3), modifiedAt: modified_at&.utc&.iso8601(3), parentId: rpc_session.session.parent_id, parentPath: rpc_session.session.parent_path, activePersonaLabel: active_persona_label }.compact end |
.state(session:, model:, streaming:, steering_supported:, auto_compaction_reserve_tokens:, active_persona_label:, message_count:, pending_count:, compaction_enabled:, workspace_guardrails_enabled:) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/kward/rpc/runtime_payloads.rb', line 6 def state(session:, model:, streaming:, steering_supported:, auto_compaction_reserve_tokens:, active_persona_label:, message_count:, pending_count:, compaction_enabled:, workspace_guardrails_enabled:) { model: model, thinkingLevel: model[:reasoningEffort], isStreaming: streaming, isCompacting: false, steeringMode: steering_supported ? "in-flight" : "one-at-a-time", followUpMode: "one-at-a-time", sessionFile: session[:path], rpcSessionId: session[:id], persistentSessionId: session[:persistentId], sessionName: session[:name], autoCompactionEnabled: compaction_enabled, autoCompactionReserveTokens: auto_compaction_reserve_tokens, workspaceGuardrailsEnabled: workspace_guardrails_enabled, autoRetryEnabled: false, defaultProvider: model[:provider], defaultModel: default_model_label(model), defaultThinkingLevel: model[:reasoningEffort], activePersonaLabel: active_persona_label, hideThinkingBlock: false, quietStartup: false, transport: "kward-rpc", imageAutoResize: false, blockImages: false, enabledModels: [], enableSkillCommands: true, messageCount: , pendingMessageCount: pending_count }.compact end |
.stats(session:, counts:, model:, auto_compaction_reserve_tokens:, context_usage:, compaction_enabled:) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/kward/rpc/runtime_payloads.rb', line 38 def stats(session:, counts:, model:, auto_compaction_reserve_tokens:, context_usage:, compaction_enabled:) { sessionFile: session[:path], rpcSessionId: session[:id], persistentSessionId: session[:persistentId], sessionName: session[:name], userMessages: counts[:userMessages], assistantMessages: counts[:assistantMessages], toolCalls: counts[:toolCalls], toolResults: counts[:toolResults], totalMessages: counts[:totalMessages], usingSubscription: model[:provider] == "Codex", autoCompactionEnabled: compaction_enabled, autoCompactionReserveTokens: auto_compaction_reserve_tokens, contextUsage: context_usage }.compact end |