Files
Arcrun/registry/components/kbdb_ingest/component.contract.yaml
T
Leo 519423cb0d feat(arcrun): mira wiki page with tag filter + accumulated WIP
- landing/app/mira/wiki: tag=mira-wiki list now shows all wiki paragraphs
  (depends on KBDB tag filter exposed in matrix/kbdb commit, separate repo)
- landing: app/mira hub + feed split + various WIP from prior sessions
- registry/components: claude_api / kbdb_create_block / kbdb_get / km_writer /
  platform_crypto / auth_oauth2 contracts + main.go (accumulated)
- .component-builds: pkg-lock updates + index.ts adjustments (WIP)
- .agents/specs/arcrun/frontend-redesign: design notes
- docs/test_credentials, docs/user_requirements/arcrun-landing-page: WIP docs
- cypher-executor: auth-dispatcher / wasi-shim adjustments (WIP)

Includes accumulated work from prior sessions plus the wiki UI tag-filter
update that surfaces the AI-generated wiki paragraphs at /mira/wiki.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 16:52:01 +08:00

69 lines
2.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
canonical_id: "kbdb_ingest"
display_name: "KBDB 寫入"
category: "data"
version: "v1"
wasi_target: "preview1"
stability: "floating"
runtime_compat:
- "cf-workers"
- "workerd"
- "wazero"
constraints:
max_size_kb: 2048
max_cold_start_ms: 50
no_network_syscall: false
no_filesystem_syscall: true
io_model: "stdin_stdout_json"
input_schema:
type: object
required: [api_key, text, user_id]
properties:
api_key:
type: string
description: KBDB partner keypk_live_xxx 或 ak_xxx,後者為 arcrun OAuth 取得)
text:
type: string
description: 要寫入的 block 內容
user_id:
type: string
description: namespace prefixpartner key 必須對應同一 namespace
source:
type: string
description: 來源標記(例如 km-writer / rss-tech-news / telegram
page_name:
type: string
description: 頁面名稱(選填)
kbdb_url:
type: string
description: KBDB API base(選填,預設 https://kbdb.finally.click
default: "https://kbdb.finally.click"
output_schema:
type: object
properties:
success:
type: boolean
data:
type: object
description: KBDB 回傳原始物件(含 blocks_injected 等)
error:
type: string
description: 錯誤訊息(success=false 時)
gherkin_tests:
- scenario: "缺少 text"
given: '{"api_key":"pk_live_x","user_id":"ns_x"}'
then_contains: '{"success":false'
- scenario: "缺少 api_key"
given: '{"text":"x","user_id":"ns_x"}'
then_contains: '{"success":false'
- scenario: "正確寫入"
given: '{"api_key":"pk_live_xxx","text":"hello","user_id":"inkstone_test","source":"smoke"}'
then_contains: '{"success":true'
tags: [data, storage, kbdb, ingest, primitive]
description: "把單一 block 寫入 KBDBPOST /blocks/ingest),硬編碼 skip_llm=true(不觸發 LLM triplet 抽取)。Mira 等定型貼文場景使用,本零件為 P0 必備。"
config_example: |
ingest_block: # 節點名稱(可自訂)
api_key: "{{secret.kbdb_key}}"
text: "{{previous_node.output.content}}"
user_id: "inkstone_leo"
source: "rss-tech-news"