code wiki / (root) / nx_workflow.nx

nx_workflow.nx source

↩ module page · 41 lines · 1784 B

1// nx_workflow.nx -- CLI half of the consolidated workflow tool (#5 of the 15). READ-ONLY WMS surface: 2// board [prefix] | show <id> [prefix] (prefix default = the canonical knowledge/store/ws-) 3// exit: 0 ok | 3 absent | 4 tombstoned | 2 usage (codes surface in MCP _meta.exit_code) 4// license_tier: ORIGINAL 5import "nx_workflow_lib.nx" 6 7const WFC_USAGE_RC: i64 = 2 8const WFC_RC_ABSENT: i64 = 3 9const WFC_RC_TOMB: i64 = 4 10const WFC_ARG_VERB: i64 = 1 11const WFC_ARG_P1: i64 = 2 12const WFC_ARG_P2: i64 = 3 13const WFC_ARGC_VERB: i64 = 2 14const WFC_ARGC_P1: i64 = 3 15const WFC_ARGC_P2: i64 = 4 16 17func main(argc: i64, argv: *i64) -> i64 { 18 if argc < WFC_ARGC_VERB { wf_puts("usage: nx_workflow board [prefix] | summary [prefix] | show <id> [prefix]\n" as *u8); return WFC_USAGE_RC } 19 let verb: *u8 = argv[WFC_ARG_VERB] as *u8 20 var prefix: *u8 = "knowledge/store/ws-" as *u8 21 if wf_seq(verb, "board" as *u8) == 1 { 22 if argc >= WFC_ARGC_P1 { prefix = argv[WFC_ARG_P1] as *u8 } 23 if wf_board(prefix) < 0 { return WFC_RC_ABSENT } 24 return 0 25 } 26 if wf_seq(verb, "summary" as *u8) == 1 { 27 if argc >= WFC_ARGC_P1 { prefix = argv[WFC_ARG_P1] as *u8 } 28 if wf_summary(prefix) < 0 { return WFC_RC_ABSENT } 29 return 0 30 } 31 if wf_seq(verb, "show" as *u8) == 1 { 32 if argc < WFC_ARGC_P1 { wf_puts("usage: nx_workflow show <id> [prefix]\n" as *u8); return WFC_USAGE_RC } 33 if argc >= WFC_ARGC_P2 { prefix = argv[WFC_ARG_P2] as *u8 } 34 let r: i64 = wf_show(prefix, argv[WFC_ARG_P1] as *u8) 35 if r == 1 { return 0 } 36 if r == 0 { return WFC_RC_TOMB } 37 return WFC_RC_ABSENT 38 } 39 wf_puts("usage: nx_workflow board [prefix] | summary [prefix] | show <id> [prefix]\n" as *u8) 40 return WFC_USAGE_RC 41}