コンテンツへ移動
KAMOUniverse

チェンジログ

何が新しいの?

プラットフォームのすべての改良 それが出荷される

  1. · kamo-internal

    選択されたバルクリーサインはチームメンバーにつながります

    グリッドは既にマルチセレクトチェックボックスを持っていましたが、選択では何もしません。 行をチェックすると、他のリードアクションの横にあるReassignアクションが表示されます。 REASSIGN LEADS マニュアル (サーバが再チェックします。これは便利です) checkRole ではなく checkRight を使うので、 神モードは バックエンドの hasGod にマッチします バイパス — checkRole はバイパスせず、神のユーザーを掘り下げる。 ダイアログは、検索で1つの宛先メンバーを選択し、オプションのメモをとります。 会員が電子メールで送信されると、その理由は 機能。 Hot Reassignのオレンジ/ピンクではなくインディゴ/ブルー:これは 急な電話転送ではなく、バルク管理者行動を審議する。 ヘッダチェックボックスは、クライアント側グリッドのすべての行を選択します。 大きい org — なので、250 キャップもここに強制されます。 それ以外の場合は、見出し "all を選択し、reassign" フローは、ユーザーが持っていた直後にサーバー側で失敗します ダイアログ全体に入力し、翻訳されていないエラーを伴います。 選択は、reloading の前に selectIdsRef でクリアされます: loadLeads ref が保持されているものを再選択するので、それをデフォルトのままにすると再チェック 行は移動します。 結果メッセージは、他のチェーンではなく構成されます。 バッチは部分的かつ未通知とチェーンの両方が報告できるためだけ 最初です.

  2. · SecurityService

    バルクリーサインエンドポイント、リアスサイン LEADS MANUALLYLY

    POST **************** は 1 つのチームにリードのバッチを移動する 会員様と会員様が一括で1回会員になるメール 正規化は、REASSIGN LEADS MANUALLY(149) を使用します。 お問い合わせ つまり、PUT /leads/{id}のシングルリードパスよりも厳格です。 ASSIGN LEADS をチェックし、100 リードを再割り当てすると、異なるブラスト半径 1つの再割り当てから、2つの権利が存在するため、それらは離れて付与することができます。 未割り当ての可視性ティアもここに強制されます。 割り当ては可視性です 助成金: リードが「私に割り当てられた」と読み込まれる呼び出し者に割り当てられます。 unassigned-read 403 を持ち上げ、連絡先情報マスクをスキップします。 お問い合わせ 149 を保持している呼び出し者をチェックしますが、VIEW UNASSIGNED LEADS は自己割り当てのリードをすることができます グリッドはそれらから隠され、それらを完全に読みやすいものに隠します。 ツイート リードレポートNOT FOUND — 独自のグリッドショーのマッチング — なので、応答 隠されているまたは外国のリードを列挙することはできません。 バッチは、完全にまたはノスリングではなく、それぞれに代わって実行されます。 トランザクションと悪い ID は、nine を捨てるので、スキップされます。 十代の課題は、誰も取りませんでした報告よりも悪いです。 行のロックとリアルタイムのファンアウトの両方をバインドするために、呼び出しあたり250でおおわれた。 通知は、別々のビーンを介して短いトランザクションでデータを解決します そして、その後に送信するので、30秒の読み取りタイムアウトでアウトバウンドコールは、決してピントしません CRDB接続。 豆の境界を越えることも @Transactional を作るものです すべてで適用 — 自己呼び出しはトランザクションなしで静かに実行され、 LAZYユーザー協会がスローされます.

  3. · EmailService

    LEADS ASSIGNEDテンプレートの変数のサンプル

    ここで、管理者テンプレートエディタのプレビューが新しいテンプレートをレンダリングしない すべてのプレースホルダーブランクで、ではなく壊れたテンプレートとして読みます 未記入のもの。 NoteBlockはレンダラーが存在しないため、あらかじめレンダリングされたHTMLです 条件 — 記法がない場合、送信者はそれを "" に破棄します.

  4. · kamo-shared-library

    LEADS ASSIGNEDのメールテンプレート;バルク使用のためのreadをハードン

    assignLead はゼロの発信者を持っていたし、決して生産で実行しなかった。 配線の前に それへのバルク再割り当てパスは、パスが必要とする保証を与えます: - orgId をとり、BOTH のリードと新規のアサインを検証します。 再割り当てはテナント間で到達できません( "not found" ではなく "not found" として報告されています) "forbidden" なので、エラーは外部リード ID をプローブするために使用できません) - findByUidForUpdate で行をロック: 手動再割り当てと同時 プール受容体ターゲットは同じリードを対象とし、それ以外の場合は、紛失に侵入します 更新情報 - プールのフラグをクリアし、CreditLeadAssignmentServiceをミラーリングします。 マークされた鉛 auto-assignment そうでなければ手によって主張されるの後でプールにとどまり、 新しいオーナーから受け取る - チャットルーティングを公開します。, updateLead は既に行っているので、借り手のオープンライブ チャットは、以前の役員に滞在する代わりにリードをフォローします また、LEADS ASSIGNEDのcanonicalテンプレートを追加します。 キーは CANONICAL KEYS または、決して見つかりず、決して自己治癒することができず、すべての送信 永久的な 404 を返します.

  5. · kamo-shared-library

    MANAGE ORG BRANDINGを追加 (174)

    Orgブランディングエンドポイント(ロゴ、色、背景、テーマプロビジョニング) オーナーまたはGodだけ、手渡すことなくブランディングを委譲する方法を残さない orgの所有権。 委任可能な権利を追加します。 所有者は、として滞在をチェックします 既存の所有者が割り当てられずに作業し続けるので、暗黙の付与.

  6. · kamo-internal

    カタログパネルからの適格性マトリックス

    シナリオの占有と目的をカバーする行列がなければ、価格設定はNO COVERAGEを返します。 そのためには、プライマリレジデンスの購入のみを価格にすることができます。 フォーム作成者 a 行列および選択した限界種類、占有率および目的の細胞、add/remove セル 同じパネルのロックポリシーフォームと一緒に、行。 プロダクト オフセットの作者を投資家のACTIVEプロダクトごとの1つのマトリックスに去ること、従って 行列の商品範囲はNULLではなく、一列に「すべての製品」を表現できません.

  7. · SecurityService

    リレーの適格性matrixの作者;再建はSUPENDEDの再開を選びます

    リレーPOST **************************** 既存の org-stamping 書き込み ヘルパーなので、スチュワードの著者は、自分のテナントだけのために数学. また、SUPENDEDローン再開を可能にする共有lib変更に対して再構築します。 kamo-shared-library は独自の CI を持たないため、各サービスクローンはソースからビルドします。 このサービスを再構築するときにのみ、このサービスに到達するように修正します.

  8. · kamo-internal

    エージェントスタジオを全幅のワークスペースとして再構築

    幅の帽子を取除くことは固定ではないです;設計する必要があるレイアウト自体 それを容認するのではなく、空間のために。 スタジオは横に3つのゾーンがあります。 -**アウトラインレール** — セクション、現在のセクションはスクロールすると強調表示されます。 (IntersectionObserver, top-weighted ) は、ヘッダ時にセクションが現在のようになります。 注目が実際にある場所に達します。 手で書かれたセクションがマークされているので、 毎回開口せず、後から手書き部分が見つかります。 -**Editor** — セクション自体は、多くの列に傾く viewport は 1 つの狭いリボンの代わりに保持します。 - **ライブ会話** — 広いディスプレイ上の実際の列, ストリップではない 開いたときにコンテンツが崩壊します。 スタジオの編集とウォッチのループです。 存在します。: 指示を変更します。, ナビゲートなしの回答変更を参照してください。. 1 つの TestDrivePanel インスタンス, 重複ではなく再配置 — それをマウント 2 回は 2 つの投げ出しのセッションを開始します。 xl の下ではエディタの下にある 3番目の列を部屋なしで表示に絞るのではなく、全幅の行 一つ、レールは小さな画面に完全に隠します.

  9. · kamo-internal

    著者のロックポリシー — 一つなし、すべてのレートでロックすることはできません

    RateCommitmentServiceは、価格の結果が運ばれる時にロックを拒否します lockPolicyVersionId("lock-policy versionが必要です") と、結果は 1 つだけを運ぶ 投資家は、公開されたロックポリシーバージョンを持っています。 UI が 1 つを公開できないため、レートロック エンドポイント自体が既に構築されている間、すべてのテナントのために到達不能だった、org-gated 正しく上書きします。 クライアントメソッドのみで、このフォームは欠落しました。 フォームは、FIRSTがFIRSTになるので、提供されたロック期間を注文リストとして取得します デフォルトでは、意図的にそれらをソートしません。 肯定的な全体ではないエントリ 悪いロック用語として送信されるのではなく、日数が低下します.

  10. · kamo-internal

    各エージェントが何をしているかを示す

    エージェントスタジオのトップにパフォーマンスセクションを追加する: 会話、方法 多くの場合、人が引き継がれ、それを引き起こしたもの、アウトリーチの結果、および費用。 なので、数字は誤解できません: - ゼロは「なし」という単語としてレンダリングします。 - 管理者がいないときにのみ、共有がレンダリングされます。そうしないと「会話なし」 比較する ゼロデノミネーターのパーセンテージはありません。 - 期間に何も価格を運んだとき、費用はまったく表示されません - トラフィックが起こった後に価格設定が設定されたという説明だけ。 カテゴリー カバレッジは、そのからどれだけの返信が欠落しているか、その量を示しています。 - 押されたアウトリーチは、それがである機能として提示されます:「これらは保たれています 目的 - 誰かが連絡しなかった理由の記録です。 - 未知の列コードは、生のキーパスではなく、読みやすいテキストに劣化します。 パーバージョン メッセージとハンドオフ カラムを削除: API は集計しません それらのセルはバージョンごとに生成された0をレンダリングするので、 測定されました。 会話だけでテーブルが何であるかに答える - 保存される どのトラフィックを処理するかをコピーします。 新しいタブではなく、既存のスクロールスタジオ文書にフォールドされ、 エージェントリストから保たれ、すべてのエージェントに対して 0 が正確になる 誤ったことは避けられます.

  11. · AIService

    試薬のスコアカード

    各エージェントが実際に何をしたのか: 会話、人がどのくらいの頻度でやり取りしなければならないか そして、なぜ、背中のものを含むアウトリーチの結果、そしてそれが何であるか。 数値は、実際にサポートできるデータです。 3つの事柄は意図的に 詳細はこちら: - **トークン合計はありません。** それらは同期パスで現実であり、上に製造されています 1つ(content.length()/4)をストリーミングするので、合計は部分発明されます。 コストの回答 正直に同じ質問は、どこにいるのか推測するのではなくnullだからです 価格は不明です。 - **決断か分裂率無し。** 会話を観察しない うまく終了し、「手渡が起きない」は成功の証拠ではありません。 - ** パーバージョンメッセージやハンドオフ数はありません。** 個々に集約されない バージョン、それらのための 0 を出すことはとしてレンダリングされる製作です 測定 - この画面は避けるために存在します。 コストは、明示的な追跡されたフラグと0の代わりにnullの量を運ぶ ウィンドウに何も値が付けられなかったので、トラフィックの優先順位が表示されるorg 'not record' ではなく、自信のある $0.00.pricedCallsはむしろ権威です 要約よりも、価格の自由階級のコールから本物ゼロがそのまま読み込まれます。 追跡される。 Transcript prose は VIEW SALES AGENT TRANSCRIPTS に別々にゲートされます。 カウント - 特定の訪問者のモデルの要約は、会話コンテンツではなく、 メトリック。 トラフィックのないエージェントは、構造的に完全な空のスコアカードを返します。 リストから欠落したエージェントは、バグとして読み込まれ、ゼロス読み取りで存在するエージェント 真実として。 parseHandoffArguments は、再導入ではなくチャットパスと共有されます。 そのため、OTHERに発明された理由の協調は2つの間に漂流できません。 スイートは150のテスト、緑です.

  12. · kamo-shared-library

    エージェントスコアカードの集計クエリをグループ化

    セッション、メッセージ、使用記録、アウトバウンド全体で @Query を集計 タッチなので、スコアカードは列をロードするのではなく、グループ化されたクエリの便利です 記憶に。 2つのプロパティは、発信者に左ではなく、述語で強制されます。 - ** クエリ自体でテストセッションは除外されます。** 若いエージェントで 作者の自身のテスト ドライブは他のほとんどのデータであり、発信者 リアルで見えない数字をフィルタリングすることを忘れないでください。 - *count(costEstimate)は、NON-NULLコストのみをカウントします。** つまり、 スコアカードは「それコストゼロ」から「評価されていない」を区別します - 重複 これらは、単にトラフィックのorgの前で自信を持って$ 0.00を置くだろう 優先価格。 アウトバウンド タッチは、送信するフィルターではなく、決定によってグループ化されます。 ザ・オブ・ザ・ refusals はより興味深いハーフです: タッチがほぼすべてのエージェント SUPPRESSED QUIET HOURS は誤って構成されており、デコーダがなければ見えない 捨てられた.

  13. · kamo-internal

    各モデルのコストを編集

    プロバイダーのセットアップ画面にモデルごとの価格編集を追加します。 価格はから見られます 各ベンダーの公開リストの価格が分かり、空白でないと - 空白とは、単にそのモデルのために追跡されていないコストを意味します。 自信を持って間違っている番号。 コピーは、人々が自分の法案に対してシードされた数字をチェックするように伝えます それらを権威として提示する。 レビューでキャッチされた表示バグを修正: 末尾のトリムはレンダリングされた 1 として 10 の価格。 今、小数点の直後にゼロを除去します.

  14. · AIService

    モデル価格表、書き込みパスとバックフィル

    コストアカウンティングは決して機能しません: AiModelは価格の列、AiModelControllerを持っています それらを読み込み、ChatOrchestrationService はコストを計算するためにそれらを読み込みます - しかし、 どこにも書いていません。 モデルはプロバイダの発見によってだけ作成され、 プロバイダー API が価格設定を返さない。 140 モデル, 0 値付け, パスなし 変更できます。 列は構造的に到達できませんでした。 3つの部品: - ModelPricingCatalogの種子は発見でリストの価格を、一致しました hyphen-boundary 接頭辞の規則が付いているnormalized 識別子従って gpt-4 は決してできません クレームgpt-4o. 非チャットモデル(TTS、埋め込み、リアルタイム)は、 既存のモダリティチェックを再利用 - 彼らは異なるシートを請求します。 - PATCH エンドポイント + UI なので、org は価格を修正またはクリアできます。 正確に Org-scoped 既存の DELETE のように。 - Backfill は NULL の列だけを、独立して、決して満たしません満たします org が設定されているものを上書き - それ以外の場合は価格編集可能になる お問い合わせ Idempotent、そして包まれる従って費用の経理は決してブーツを妨げません。 ** 推測されたものではなく、価格を手に入れる自信がないモデルです。** GPT-5、o3、ほとんどのミストラル、DeepSeek、xAI、コヒーレ、メタは意図的に空白です。 OpenRouter と HuggingFace は、独自のレートを請求するので、デザインにマッチしません。 そして、上流価格の継承は推測されるだろう。 間違った価格は作り出します 自信を持って間違っている請求書形の図 - 同じ理由のコストはまだ トークン数が製造されるストリーミングパスに計算されていない。 per-1k 列への変換は、RoundingMode を使用します。 目的外:価格 6 以上の小数がサイレントではなく、クラス単位で投げる必要 理由は左ブランクです。 スイートは145のテスト、グリーンです.

  15. · kamo-internal

    AIハンドオフのコンテキストをエージェントに表示

    AI HANDOFF システムイベントを、AIの要約とカードとしてレンダリングします。 これまでの会話の恐ろしいトランスクリプト - なので、借り手は 拾う人に自分自身を再説明する必要はありません。 3つの劣化した状態は、サイレントではなく明示的かつ可視的である:トランスクリプト トランジットで区切られた、転写およびペイロード。 エージェントは必須 彼らはそうしないとき、彼らは完全なコンテキストを持っている信じるままにしないでください。 訪問者とエージェントは1つのSTOMPトピックを共有しているので、ライブフレームは赤字に到着します( AIの要約は、訪問者のプライベートな評価であり、自分のために行くことができません ブラウザ エージェントをリロードするように指示するよりもむしろ、カードは全列を再読み込み 認証されたエンドポイントから一度。 再読み込みが検証される前に 採用 - 静止した応答は、使用よりもむしろ拒否されます。 従って、この警告は、文脈が本物的に得られたときだけ消えることができます。 任意の故障 リロードメッセージに戻ります.

  16. · APIService

    パブリックAI->human handoffのルートをプロキシする

    メニュー メディアサービス createSupportSession の兄弟と一緒に。 このハンドオフ機能は到着時に死にました: MediaServiceのエンドポイント X-Internal-Auth, X-Public-Chat-Org-Id, X-Public-Chat-Key-Hash, X-Public-Chat-Key-Hash, X-public-Chat-Org-Id, X-Public-Chat-Key-Hash, X-Public-Chat-Key-Hash, このゲートウェイのみが注入されるので、ウィジェットのPOST 404'dはここにおり、決して お問い合わせ createSupportSession と同じ条件の***ガードを運ぶ。 ハンドオフの操業 完全なセッション・クレエーション・パスなので、それをプロキシすると、 ファイプ・オブ・ワークをバイパスするチケット・クリエイティング・ルート.

  17. · MediaService

    人間のスレッドにAIの会話を手渡す

    サポートセッションの作成や再利用、AIトランスクリプトを1つのシステムとしてコピー イベント、ルート化、訪問者を正直に伝えます。 機密性は、最初のパスが後方を得た聴衆によって分割されます。 ザ・オブ・ザ・ AIの要約と理由詳細は、訪問者のプライベートな評価であり、 完全なペイロードは2つのRESTドアを通って訪問者の自身のブラウザに達し、 エージェントが何も見ていない間にSTOMPフレーム。 トランザクションは、すべてに適用されます 訪問者向きのパス; 持続した列は、エージェントの完全なペイロードを保持します。 chat.session.{guid} は、聴衆が購読する単一のトピックです。 フレームは訪問者が見ることができるかに切られ、代理店UIは完全な列を再読します 独自の認証エンドポイントから。 Idempotency は aiSessionGuid, org-scoped で鍵を握り、BEFORE の作成をチェックします。 お問い合わせ セッションでそれをキープし、作成後にチェック - 明らか 形 - それは重要であるとき、正確には役に立ちません:そのセッションを失った再試行 トークンは常にチェックを通過し、重複したチケットと2番目のエージェントを生成します サイトマップ transcriptAttached は、実際に何が起こったのかを報告しました。 以前は戻ってきた 書き込みが無事に失敗した場合でも、それは可能な限り最悪です 組み合わせ: 訪問者は、そのコンテキストが遭遇したと伝えられ、エージェントのスレッドは 空で、パーティーが知っていることもありません。 移行ではなく、コピー・オン・ハンドオフ:AIは分析がそれらを読み取る場所にとどまります.

  18. · AIService

    人へのエージェント・イニシャル・ハンドオフ、コンテキスト

    AIは、以前に人を求めることができませんでした:エスカレーションルールはモデルに達しました コンパイルされたプロンプトを介して、機械で読みやすい信号が返されていないので、 モデルは、誰かと何も起こらないとSYだけをフェッチすることができます。 - 合成kamo request humanツール、エージェント自身の有効化から記述 エスカレーションルールのタイトルなので、モデルが同一のトリガー条件を プロンプトとツール。 MCP ディスパッチの前に傍受 - 信号ではなく、 実際のツールコール - そして、TOOLの行は、それが永続する理由です 新しいカラムをゼロにすることで、分析準備ができます。 - 実際にライブサポートが有効になっているチャネルが実際にあるときだけ Attached。 ハンドリング AI専用は、決して到着できない人間を約束するツールは、 ツールがない:ウィジェットはサポートタブがないため、信号がドロップされ、 来場していなかった方をお待ちしています。 - 新しい内部エンドポイントは、誰にとってもAIの要約である、手渡された理由を返す USER/ASSISTANTのトランスクリプトを継承し、 ツールとシステム列は 排除 - 人間は、機械ではなく、会話を必要としています。 - 理由詳細と要約は、訪問者のブラウザから保護されています。 訪問者のモデルのプライベート評価です。 お問い合わせ result} はクライアントに渡します。MediaService は残りのサーバー側をフェッチします。 - AIの回転は、移動または削除されません。 AiChatMessageは分析システムを維持 記録の; 人間の側面はコピーを取得します。 また、途中で見つかった潜伏バグを修正: ツールブロックは、パーモデルを無視 supportToolUse フラグなので、ツールをサポートしていないモデルを明示的にフラグ付けしました それでも送信されました。 140 のモデルの 31 は false のフラグが付けられます。 ai mcp server configs は 空のクラスターワイドなので、今日のブラスト半径はゼロです。 スイートは124のテスト、グリーンです.

  19. · MediaService

    エージェントの権限を与えられたアウトリーチを開いた借り手スレッドに受け入れる

    カウンターパートAIServiceのアウトリーチディスパッチャ呼び出し。 それなしで全体 記録された404で終えられた下り道 - ゲートは接触を、承認しました メッセージは構成され、どこに置かなかった。 所有権は、非審議的にとどまります。AIServiceはWHETHERにタッチが出る可能性があることを決定 テキストを書いて、このサービスはそれを置きます。 AIServiceからこれらの行を書く チャットを所有するサービスにトランスクリプトの所有権をフォークする テーブルやソケット。 しない2つのこと。 会話を創り出すことは決してありません - アウトリーチは再開するかもしれません 既に開いている訪問者をスレッドし、チャットウィンドウを誰かに隠さない ではなかった。 そして、それはオルガのチケットにリードuidの解決を交差しません 別の org の会話の中に 1 つの org のエージェントを置くので、 org は 発信者から信頼されるのではなく、チケットに対してチェック。 メッセージはセッションメンバーに帰属します。 - 割り当てられた人員にはありません。 人工知能を構成するメッセージのレンダリング 名づけられたものの、ライセンスされた人は、AI-disclosure ルールが存在するものであることを書いています。 防いで下さい。 SecureSubscription は、消費者が使用するため、NATS 公開を優先します。 配送ポリシー 新規: 最初に公開すると、メッセージが永続するが、そこからドロップする 接続されたすべてのクライアント。 id と messageId の両方を返すため、アウトリーチ監査ログ スレッドではなくメッセージを参照します。 開いた糸が存在しない404 従って、発信者は配達を仮定の代りにきれいな失敗を記録します.

  20. · AIService

    アウトバウンドトリガー、スケジューラ、Webチャットディスパッチ

    アウトリーチの背骨を実際に火にします。 ゲート、接触状態、同意および 既に存在している監査;評価されるべき接触を引き起こしなかった。 -NATSは、独自のk8s/configmap.yaml(各Javaサービス)を介してAIServiceを有効にしました 独自のk8s dir; KlusterServicesはクラスターの赤外線だけを保持します。 ジェットストリーム NatsConfig は、意図的に OFF を残しています。NatsConfig は、独自のレプリケーションファクターをに対してアサートします。 スタートアップで一元化されたストリームを一元化し、AIServiceはコアだけを購読します NATSは何も公開しないので、何も得ないし、第二に危険を及ぼす レプリカのカウントを主張するサービス. - AgentOutboundConsumer は、security.leads.rt.> を購読し、のみ消費します。 LEAD CREATED/LEAD UPDATED. リードエグジビションジャパン パブリッシャーはロックやステータスイベントも発生します。 同僚が自分の記録に編集ロックを取ったので、人に手を差し伸べる 守れない。 Idsはパブリッシャーから文字列として到着します。 asLong() ではなくテキストとして。 - AgentOutboundScheduler は、4 つのバインドの下でスケジュールトリガーを評価します: org セット 実際に(おおいた)、薄い滑走に漂う代理店から得られる 時間切れなので、コストは、総リードではなく、新しいリードレートを追跡します, per-tick行 キャップと再評価ダンパーなので、静かな時間の間のリード交差が回収される 日々のダニではなく、 - 構成の種テキストPUBLISHED版のコンパイルされたプロンプトで完了します、 ドラフトではなく、トリガーインテント。 構成失敗の記録FAILED; 缶詰のフォールバックメッセージはありません。 - WEB CHAT ディスパッチは既存のスレッドだけを継承します。 アウトリーチは再開することがあります 訪問者が開いた会話。それは誰かにチャットウィンドウを傷つけないかもしれません 誰が開いたか。 - SMS/EMAIL/SOCIAL DM ルートを録画した FAILED が不足しているコンプライアンスを命名 配管するので、SMSでトリガーを指すorgは、アウトリーチログでなぜ 何も起こらないのではなく、すぐに。 23件の新しいテスト; スイートは 68 で、グリーンです.

  21. · kamo-internal

    必須テキストエディタ; AI全般の設定を解読;モデルトグルを修正

    Org-wide に必要なオープニング/クロージングテキスト - コンパイラと 列は存在しましたが、何も設定できませんので、機能が死にました。 コピー エージェントがそれを削除し、その保存がすべてのものに適用できない状態 エージェントはすぐに、トーストは多くのエージェントが再出版されたかを報告 ライブエージェントは、彼らが言うことを変更したので、ベア「サヴェド」よりも。 方法に沿って見つかった2つの既存のバグ: - 「自動選択可能なモデル」スイッチは機能しません。 フロントエンド data.autoSelectModel を読み込み、 autoSelectModel を送信しましたが、バックエンドのリターンと autoModelEnabled が期待されるので、toggle は常に真をレンダリングし、その値が すべての保存に捨てられます。 フロントエンド側固定、サーバ変更不要 - Ai GeneralSettings.tsx は死んだコード、決して輸入されませんでした、動詞のインライン SecurityModelsTab.tsx の下部に住んでいた重複。 実装よりもむしろ 必要なテキストを2回、重複は削除され、SecurityModelsTabはインポートします 共有コンポーネント。 また、販売エージェントのヘルプチップを交換します。これは、まだユーザーに機能があったと伝えました お問い合わせ.

  22. · AIService

    パーシスト org-wide 必要なテキストとすぐに適用

    AiOrgSettingsは強制的なPreamble/forcedFooterおよび SalesAgentCompilerを既に獲得しました すべてのエージェントにそれらを折るが、設定のコントローラーは読み書きしない 彼ら - ので、能力は死にました: 保存は成功し、戻ってきたために登場しました 再読み込みの空白。 GET は、両方のフィールド(設定なしのデフォルトを含む)と PUT を返します。 それらを主張し、空白をnullに正規化して、フィールドを実際にクリアする むしろ、トレイの分離器として折り畳むために空の文字列を残すよりも。 必須のテキストは、再コンパイルと再公開によって、インメディアテルイの影響を受けます 組織内のすべての公開エージェント。 各エージェントの次の公開に適用する より安く、トラップです:「常にあなたが自動化されていると言う管理者 アシスタントは、それが生きていると信じます, そして、エージェントは誰も再出版するために起こりません 無期限に話さずに話し続ける。 サイレントに欠かせないライン 提供しないよりも悪くない。 影響を受けた各エージェントが新しい保存を取得 理由でラベルを付けられたコピーと、その応答は再公開された回数を報告する UI は、'Saved' の代わりに実際に起こったことを言うことができます.

  23. · kamo-internal

    フルページAIセールスエージェントスタジオ、モーダルを交換

    エージェントエディタは、表面全体が10列だった〜800px MUIダイアログでした textarea は、ダイアログをまったく使用した 1 つの AI タブで。 それは今、専用です ルートと後ろの編集モデルは、ブルームではなく構造化されます。 - /settings/ai/sales-agents/new — スタジオではなく、720px のカラム。 テンプレートカード (カードは業界なので業界を落とさない)、2つのフィールド名 ビジネスに関する1つの文章。 1分以内の作業代理店。 - /settings/ai/sales-agents/[id] — 完全な幅、粘着性のある1つのスクロール文書 セクションヘッダ、880px で包まれた内容なので、単一行の入力は伸びません 4Kディスプレイ全体で。 240px nav レールなし: nine セクションは、スクロールスパイ ジョブではなく、 nav ジョブ。 - Try-it-out は、永続的に予約された列ではなくヘッダーのトグルです。 ログイン ブランドの新しいエージェントの横にある空のチャットペインは、として読むスペースを浪費しています ユーザの失敗を埋めます。 - 準備は、助けるものの注文、必見リストです - 決してfraction。 フラクションは、彼らが失敗している誰かを伝えます。リストは、次のことを行うためにそれらを伝えます。 - ロックされた規則はロックされ、取り外し可能、および手によるセクションを取ることをレンダリングします 1つを含むときに警告します(コンパイラは現在、それらを無関係に追加します)。 - ヘッダは、編集がニューの会話にのみ影響を及ぼすという文言を述べています。 プロンプトはセッション作成時にスナップショットされ、ユーザーはそうでなければ終了します 変更は機能しませんでした。 - outboundEnabledは実際に変更されたときだけ送られます:サーバー403s全 MANAGE SALES AGENT OUTREACH がなければ、そのフィールドが存在している場合は、 すべてのオートセーブでは、その権利を欠いている人のためにスタジオを破ります。 また、チャットチャネルから「AIシステムプロンプト」ボックスを複製する エディタ。 同じことを著者に2番目に弱い場所でした。 バージョン、ロックされていないルールと歴史なし - どのエディタに起こったのか 顧客が聞いたことを決めたオープン。 既存のプロンプトはまだ解決します。 チャネル エージェントで指摘する通知が1つあります。 コピーは設計によってAIのジャーゴンを運びません、ハードコードされた英語の企業の配列はあります 翻訳されたラベルに置換します.

  24. · AIService

    セールスエージェントコンパイラ、バージョンアップ、アウトリーチゲート、固定ツール再生

    構造化されたエージェントのコンフィグは、システムプロンプトにコンパイルし、公開されるごとにフリーズします バージョンは、エージェントが連絡先を開始する前に、ゲートを獲得する必要があります。 コンパイラ - AgentConfig + SalesAgentCompiler:構造の純粋で決定的なコンパイル セクションされたプロンプトにコンフィグします。 空のセクションが省略されるので、3つのルール エージェントは、主に見出しているドキュメントにコンパイルしません。 - セクションレベルのオーバーライド(ドキュメントレベルではなく、この部分を自分で書きます) raw-edit スイッチ: 著者は 1 つのセクションで完全な表現力を得る 他のセクションはコンパイルを保ち、ロックされたルールを保ち、バージョン管理を維持します。 - 同じメカニズムがマイグレーションバイトを識別する - 事前構成エージェントのプロス ドキュメント全体として保存され、変更されずにコンパイルされるので、移行 今日は、既に顧客に話している代理店のためのノップです。 テストによって証明される。 - PhraseBank は TEMPLATE のよい prose の 2 つの次元、意図的にです。 すべてのenumの組み合わせで鍵を当てたグローバル銀行は〜90手書き段落を必要とします。 積み重ねられた句にdegeneratesし、同じと開くすべてのorgを作って下さい 文 - オルガが購入しているものを破壊します。. - 6つのテンプレート(フロントデスクとインバウンドリード先:それらは水平とカバー 縦にリストされていない組織) 各船は、コンプライアンス規則をロック モデルは、テストで検証し、削除することはできません。 ライフサイクル+認定 - 公開フリーズ {config, compiledPrompt, hash, model, Provider}; ロールバック ドラフトをリポイントし、復元することで、スタジオは1つのことを示すことはできません。 エージェントは別の機能を提供します。 - コントローラーは初めての権利-gatedです。 以前は認証済みです オルガのメンバーは、オルガが顧客に言うことを書き直すことができます。 フォールズバック MANAGE AI SETTINGS では、既存の管理者がデプロイ時にロックアウトされていないため。 - パブリックチャットは、公開されたバージョンの冷凍プロンプトよりもライブを好む トレーニングコンテキスト、およびスタンプセールスエージェントID/バージョンID - エージェント 既に解決され、廃棄されました。 - AI-assisted ドラフト: 1 つの文で、レビュー可能な構成。 ロックされたルールは 決してモデルに示されていないコードで運ばれるので、コンプライアンス ラインは決してできません 指示に従って削除されます。 アウトリーチゲート(全14ルールテスト済み) - オプトアウトは、他のすべてのチェックを打ち負かし、理由として報告されます。 拒否に対して記録された理由は、証拠そのものである。 - 同意の記録のないSMSは拒否されます:TCPAの下で証拠の負荷はあります 送信者は、記録の欠如は同意がない場合です。 ・営業時間は、連絡先がどこにいても判断されます。 - 失敗した送信は接触予算を費やしません; 抑制された送信はどちらかしません、または 1つのブロックはそれの後ですべてを妨げるためにカスケードします。 - ゲートは CLOSED に失敗します - エラーが開いたアウトリーチゲートは誰もメッセージを送信しません 許可されていない、ここで1つの失敗は元に戻すことができません。 方法に沿って見つかった修正 - ツールコールの歴史再生が壊れた:TOOL列は、コンテンツや アシスタントツール use のターンは決して主張されなかったので、2 は null コンテンツを送信しました ブロック。 ツールを有効にすると、マルチターンの会話が失敗します。 - textComplete はタイムアウト (blocking .get() がなかったため、スレッドを遅くする 提供者)および記録された使用無し、すべてのヘルパーは請求に見えない呼出しをします。 - コンテキストフィッティングのシステムパーティションは未処理だったので、動詞エージェントとRAG ブロックは、すべての歴史をクラウドアウトすることができます。 - costEstimateは、実際のプロバイダトークンからのみ、同期パスに置き換えられます。 Streaming は null を維持します。: トークンを content.length()/4 として製造し、乗算 実際の価格では、誤った請求書形の数字が収まります.

  25. · kamo-shared-library

    Structured sales-agent config, version spine and outreach state

    Replaces the single training-context blob with a structured, versionable agent model, and adds the per-contact spine an agent needs before it may initiate contact rather than only reply. - SalesAgent gains configJson (jsonb-as-String, matching WebChatIntegration .designConfig), hasConfig, publishedVersionId, audience and outboundEnabled. trainingContext is retained as the COMPILED OUTPUT so every existing consumer keeps working untouched. hasConfig is explicit rather than inferred from trainingContext being blank, because once it is compiled output it is never blank and any blankness test would be unreachable. - SalesAgentVersion freezes {configJson, compiledPrompt, compiledHash, modelId, providerId} per publish. The model is pinned alongside the prompt: freezing instructions while the model auto-routes would make the artifact a half-truth. - AiChatSession/AiUsageRecord gain salesAgentId + salesAgentVersionId. Previously "which agent handled this?" could only be answered by walking the mutable, nullable, non-FK WebChatIntegration.salesAgentId hop, so reassigning a channel silently re-attributed all history. - AiOrgSettings gains forcedPreamble/forcedFooter as NEW nullable columns rather than reusing defaultSystemPrompt, so concatenation is a no-op until an admin fills one in. Reusing the existing field would have changed behaviour for every org that already had one populated, on deploy day. - AgentContactState + AgentOutboundTouch: per-contact cross-channel suppression, explicit per-channel opt-out columns and timestamped consent. Opt-out is stored as real columns rather than JSON because "prove this number was suppressed on that date" must not depend on JSON path extraction. The touch log records REFUSALS as well as sends - a log of sends proves what you did, a log of decisions proves what you would not do. - Rights 168-173 split **************** off MANAGE_AI_SETTINGS(53), which previously gated none of this.

  26. · kamo-internal

    AIセールスエージェントタブ+チャネルエージェント割り当て

    /settings/ai?tab=sales-agents(stub)をビルドアウトします。 orgsはエージェントを生成します セールス業界、組み込みのテンプレートから、またはトレーニングコンテキストを書くことによって 自分で編集/有効/削除します。 チャット チャネル (/settings/features/chat) は、エージェントがその チャネルのAI、独立して — エージェントは、生システムプロンプトを上書きします.

  27. · SecurityService

    Enrich 借り手チャットルーティング + 被写体プロパティの状態をキャプチャ

    チャットルーティングは、割り当てられた役員のNMLS、タイトル、写真、電話、電子メールを返します サブプロパティの状態の有効なライセンスを保持するかどうか、プラス 状態そのものと、まだ尋ねる必要があるかどうか。 SAFE-Actカードの再利用 チャットが製造されたアイデンティティを示すことができないため、データを解決しました。 POST /portal/subject-state を追加します: リードがプロパティ状態がまだない場合、 借り手はチャットから設定できます。それはpatchEstimate(およびその割り当て)を通して流れます ライセンスラインのロックを解除する他の主張された事実のようなプール再エントリー).

  28. · MediaService

    チャネルごとの販売代理店を割り当てて下さい+レポートLOの可用性を報告して下さい

    - WebChatIntegrationのCRUDは販売AgentIdを通します(nullは割り当てをクリアします) - lo-presence は、メンバーの空室状況をオンラインで返すので、 ウィジェットは、ベアドットの代わりに実際のステータスを表示できます。 クロスオーグプローブはまだ {online:false} のみを返します.

  29. · AIService

    セールスエージェントCRUD、mortgageテンプレート、エージェント主導のチャットプロンプト

    - AiSalesAgentController(/api/ai/sales-agents): org-scoped CRUD + GET /templates - SalesAgentTemplateRegistry:作り付けの始動機の型板、始めて下さい mortgage-borrowerの助手(compliance-aware:結合率の引用無し、いいえ 承認の約束、認可された融資役員に対する防御、被験者の状態を求める) - PublicAiChatService: 割り当てられた SalesAgent のトレーニングコンテキストはトップになります プロンプト滝の層(エージェント -> 統合プロンプト -> org -> generic)

  30. · kamo-shared-library

    SalesAgent の実体 + チャネルのエージェントの割り当て

    Org-configurable AI 販売代理店: 営業業界名、プログラム org の作者(テンプレートまたは手で)のトレーニングコンテキストで、割り当て可能 そのチャンネルのAIを駆動するチャネルへ。 カモは、すべての業界にサービスを提供しています。 1つのテンプレートだけ。 - SalesAgent の実体 (dao/beans/ai) + SalesAgentRepository + SalesAgentDTO - WebChatIntegration.salesAgentId(nullable soft link)+ DTO分野

君の宇宙は待ってる

数分で無料で開始できます。準備ができたらいつでも製品を追加できます。移行も新しいログインも不要です。

クレジットカード不要