922a57fe34
Self-hosted 開源:WASM 零件 + recipe + cypher-executor,跑在你自己的 Cloudflare。 此為重建的乾淨歷史起點(移除曾誤 commit 的 GCP SA 金鑰,舊歷史保留在 richblack/arcrun 與本地 backup 分支)。含: - acr init --self-hosted installer(建 KV/R2 + codeload 拉預編譯 wasm + wrangler deploy + seed recipe) - recipe push 把關(資料外流提醒 + 打通檢查) - 19 個正當零件預編譯 wasm(claude_api/km_writer/kbdb_upsert_block 排除:違反 DECISIONS §1) - CLI / cypher-executor / registry / 完整 SDD Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
59 lines
2.0 KiB
YAML
59 lines
2.0 KiB
YAML
canonical_id: "string_ops"
|
|
display_name: "字串操作"
|
|
category: "logic"
|
|
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: true
|
|
no_filesystem_syscall: true
|
|
io_model: "stdin_stdout_json"
|
|
input_schema:
|
|
type: object
|
|
required: [operation, input]
|
|
properties:
|
|
operation:
|
|
type: string
|
|
enum: [upper, lower, trim, capitalize, replace, split, join, includes, starts_with, ends_with, length, substring]
|
|
input:
|
|
type: string
|
|
args:
|
|
type: object
|
|
description: 操作參數(依 operation 而定)
|
|
output_schema:
|
|
type: object
|
|
properties:
|
|
success:
|
|
type: boolean
|
|
data:
|
|
type: object
|
|
properties:
|
|
result: {}
|
|
operation:
|
|
type: string
|
|
gherkin_tests:
|
|
- scenario: "upper 操作"
|
|
given: '{"operation":"upper","input":"hello"}'
|
|
then_contains: '"result":"HELLO"'
|
|
- scenario: "replace 操作"
|
|
given: '{"operation":"replace","input":"hello world","args":{"from":"world","to":"u6u"}}'
|
|
then_contains: '"result":"hello u6u"'
|
|
- scenario: "不支援的 operation"
|
|
given: '{"operation":"unknown","input":"test"}'
|
|
then_contains: '{"success":false'
|
|
tags: [builtin, data, string, transform, text]
|
|
description: "字串操作:upper/lower/trim/capitalize/replace/split/join/includes/starts_with/ends_with/length/substring。"
|
|
config_example: |
|
|
my_string_op: # 節點名稱(可自訂)
|
|
operation: "replace" # 運算類型(必填),可選值:upper/lower/trim/capitalize/replace/split/join/includes/starts_with/ends_with/length/substring
|
|
input: "hello world" # 輸入字串(必填)
|
|
args: # 操作參數,依 operation 而定(選填)
|
|
from: "world" # replace 用:要被取代的子字串
|
|
to: "arcrun" # replace 用:取代後的字串
|