@loxtep/sdk 0.9.6 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +4 -4
  3. package/dist/cli/commands/approvals-cmd.d.ts +39 -9
  4. package/dist/cli/commands/approvals-cmd.d.ts.map +1 -1
  5. package/dist/cli/commands/approvals-cmd.js +112 -48
  6. package/dist/cli/commands/approvals-cmd.js.map +1 -1
  7. package/dist/cli/commands/candidates-cmd.d.ts +24 -0
  8. package/dist/cli/commands/candidates-cmd.d.ts.map +1 -0
  9. package/dist/cli/commands/candidates-cmd.js +138 -0
  10. package/dist/cli/commands/candidates-cmd.js.map +1 -0
  11. package/dist/cli/commands/cdlc-cmd.d.ts +23 -0
  12. package/dist/cli/commands/cdlc-cmd.d.ts.map +1 -0
  13. package/dist/cli/commands/cdlc-cmd.js +110 -0
  14. package/dist/cli/commands/cdlc-cmd.js.map +1 -0
  15. package/dist/cli/commands/packs-cmd.d.ts +14 -0
  16. package/dist/cli/commands/packs-cmd.d.ts.map +1 -0
  17. package/dist/cli/commands/packs-cmd.js +86 -0
  18. package/dist/cli/commands/packs-cmd.js.map +1 -0
  19. package/dist/cli/help.d.ts.map +1 -1
  20. package/dist/cli/help.js +16 -2
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/index.js +143 -10
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/client/agent-workspace-types.d.ts +74 -0
  25. package/dist/client/agent-workspace-types.d.ts.map +1 -0
  26. package/dist/client/agent-workspace-types.js +7 -0
  27. package/dist/client/agent-workspace-types.js.map +1 -0
  28. package/dist/client/agent-workspace.d.ts +45 -0
  29. package/dist/client/agent-workspace.d.ts.map +1 -0
  30. package/dist/client/agent-workspace.js +142 -0
  31. package/dist/client/agent-workspace.js.map +1 -0
  32. package/dist/client/approvals-types.d.ts +18 -0
  33. package/dist/client/approvals-types.d.ts.map +1 -1
  34. package/dist/client/approvals.d.ts +4 -4
  35. package/dist/client/approvals.d.ts.map +1 -1
  36. package/dist/client/approvals.js +31 -8
  37. package/dist/client/approvals.js.map +1 -1
  38. package/dist/client/cdlc-types.d.ts +147 -0
  39. package/dist/client/cdlc-types.d.ts.map +1 -0
  40. package/dist/client/cdlc-types.js +16 -0
  41. package/dist/client/cdlc-types.js.map +1 -0
  42. package/dist/client/cdlc.d.ts +27 -0
  43. package/dist/client/cdlc.d.ts.map +1 -0
  44. package/dist/client/cdlc.js +174 -0
  45. package/dist/client/cdlc.js.map +1 -0
  46. package/dist/client/context.d.ts +8 -1
  47. package/dist/client/context.d.ts.map +1 -1
  48. package/dist/client/context.js +4 -1
  49. package/dist/client/context.js.map +1 -1
  50. package/dist/client/index.d.ts +19 -3
  51. package/dist/client/index.d.ts.map +1 -1
  52. package/dist/client/index.js +2 -0
  53. package/dist/client/index.js.map +1 -1
  54. package/dist/client/loxtep-client.d.ts +2 -2
  55. package/dist/client/loxtep-client.d.ts.map +1 -1
  56. package/dist/client/loxtep-client.js +42 -5
  57. package/dist/client/loxtep-client.js.map +1 -1
  58. package/dist/client/meaning.d.ts +10 -1
  59. package/dist/client/meaning.d.ts.map +1 -1
  60. package/dist/client/meaning.js +4 -1
  61. package/dist/client/meaning.js.map +1 -1
  62. package/dist/client/mining-types.d.ts +81 -0
  63. package/dist/client/mining-types.d.ts.map +1 -0
  64. package/dist/client/mining-types.js +14 -0
  65. package/dist/client/mining-types.js.map +1 -0
  66. package/dist/client/mining.d.ts +17 -0
  67. package/dist/client/mining.d.ts.map +1 -0
  68. package/dist/client/mining.js +115 -0
  69. package/dist/client/mining.js.map +1 -0
  70. package/dist/client/ontology-types.d.ts +91 -0
  71. package/dist/client/ontology-types.d.ts.map +1 -0
  72. package/dist/client/ontology-types.js +6 -0
  73. package/dist/client/ontology-types.js.map +1 -0
  74. package/dist/client/ontology.d.ts +27 -0
  75. package/dist/client/ontology.d.ts.map +1 -0
  76. package/dist/client/ontology.js +146 -0
  77. package/dist/client/ontology.js.map +1 -0
  78. package/dist/client/packs-types.d.ts +48 -0
  79. package/dist/client/packs-types.d.ts.map +1 -0
  80. package/dist/client/packs-types.js +7 -0
  81. package/dist/client/packs-types.js.map +1 -0
  82. package/dist/client/packs.d.ts +27 -0
  83. package/dist/client/packs.d.ts.map +1 -0
  84. package/dist/client/packs.js +122 -0
  85. package/dist/client/packs.js.map +1 -0
  86. package/dist/client/procedures-types.d.ts +147 -6
  87. package/dist/client/procedures-types.d.ts.map +1 -1
  88. package/dist/client/procedures-types.js +3 -2
  89. package/dist/client/procedures-types.js.map +1 -1
  90. package/dist/client/procedures.d.ts +27 -13
  91. package/dist/client/procedures.d.ts.map +1 -1
  92. package/dist/client/procedures.js +180 -20
  93. package/dist/client/procedures.js.map +1 -1
  94. package/dist/client/process-intelligence-types.d.ts +94 -2
  95. package/dist/client/process-intelligence-types.d.ts.map +1 -1
  96. package/dist/client/process-intelligence-types.js +15 -3
  97. package/dist/client/process-intelligence-types.js.map +1 -1
  98. package/dist/client/process-intelligence.d.ts +18 -5
  99. package/dist/client/process-intelligence.d.ts.map +1 -1
  100. package/dist/client/process-intelligence.js +47 -5
  101. package/dist/client/process-intelligence.js.map +1 -1
  102. package/dist/client/review.d.ts +7 -1
  103. package/dist/client/review.d.ts.map +1 -1
  104. package/dist/client/review.js +3 -1
  105. package/dist/client/review.js.map +1 -1
  106. package/dist/client/semantic-layer-types.d.ts +65 -0
  107. package/dist/client/semantic-layer-types.d.ts.map +1 -0
  108. package/dist/client/semantic-layer-types.js +7 -0
  109. package/dist/client/semantic-layer-types.js.map +1 -0
  110. package/dist/client/semantic-layer.d.ts +25 -0
  111. package/dist/client/semantic-layer.d.ts.map +1 -0
  112. package/dist/client/semantic-layer.js +100 -0
  113. package/dist/client/semantic-layer.js.map +1 -0
  114. package/docs/sdk-mcp-mapping.md +157 -3
  115. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/client/packs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAE5B,wBAAwB,EAExB,oBAAoB,EACpB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAqC1B,wFAAwF;AACxF,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAehF;AA2BD,mEAAmE;AACnE,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,CAyBxF;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,IAAI,GAAE,YAAiB,GACtB;IACD,cAAc,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACxD,2BAA2B;IAC3B,oBAAoB,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC9D,QAAQ,EAAE,CAAC,KAAK,EAAE,2BAA2B,GAAG,MAAM,KAAK,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACjG,2BAA2B;IAC3B,wBAAwB,EAAE,CACxB,KAAK,EAAE,2BAA2B,GAAG,MAAM,KACxC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC3C,qBAAqB,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,2BAA2B;IAC3B,0BAA0B,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjE,CAmCA;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Vocabulary pack lifecycle API (LOX-1242).
3
+ * MCP loxtep_meaning ops (semantic-layer REST) — not loxtep_define.
4
+ *
5
+ * GET /graph/admin/vocabulary-packs/recommend
6
+ * POST /graph/admin/vocabulary-packs/{pack_id}/enable
7
+ * GET /graph/semantic-layer/activation-state
8
+ */
9
+ function unwrapData(res) {
10
+ return (res.data ?? res);
11
+ }
12
+ function requireOrg(deps, override) {
13
+ const org = override ?? deps.organization_id;
14
+ if (!org) {
15
+ throw new Error('organization_id is required for pack activation (set it on the client or pass it explicitly)');
16
+ }
17
+ return org;
18
+ }
19
+ function asRecord(value) {
20
+ return value != null && typeof value === 'object' && !Array.isArray(value)
21
+ ? value
22
+ : null;
23
+ }
24
+ function pickString(rec, ...keys) {
25
+ for (const key of keys) {
26
+ const v = rec[key];
27
+ if (typeof v === 'string')
28
+ return v;
29
+ }
30
+ return null;
31
+ }
32
+ function normalizeActivationState(raw) {
33
+ if (raw === 'no_pack_active' || raw === 'activating' || raw === 'pack_active') {
34
+ return raw;
35
+ }
36
+ return 'no_pack_active';
37
+ }
38
+ /** Normalize camelCase (graph handler) or snake_case (MCP docs) activation payloads. */
39
+ export function normalizePackActivationStatus(raw) {
40
+ const rec = asRecord(raw) ?? {};
41
+ return {
42
+ activation_state: normalizeActivationState(rec.activation_state ?? rec.activationState),
43
+ active_pack_id: pickString(rec, 'active_pack_id', 'activePackId'),
44
+ active_pack_version: pickString(rec, 'active_pack_version', 'activePackVersion'),
45
+ active_pack_display_name: pickString(rec, 'active_pack_display_name', 'activePackDisplayName'),
46
+ enabled_at: pickString(rec, 'enabled_at', 'enabledAt'),
47
+ };
48
+ }
49
+ function normalizePackSummary(raw) {
50
+ const rec = asRecord(raw);
51
+ if (!rec)
52
+ return null;
53
+ const pack_id = pickString(rec, 'pack_id', 'packId');
54
+ if (!pack_id)
55
+ return null;
56
+ const display_name = pickString(rec, 'display_name', 'displayName') ?? pack_id;
57
+ const term_count = typeof rec.term_count === 'number'
58
+ ? rec.term_count
59
+ : typeof rec.termCount === 'number'
60
+ ? rec.termCount
61
+ : undefined;
62
+ const version = pickString(rec, 'version') ?? undefined;
63
+ const industry_relevance = pickString(rec, 'industry_relevance', 'industryRelevance') ?? undefined;
64
+ return {
65
+ ...rec,
66
+ pack_id,
67
+ display_name,
68
+ term_count,
69
+ version,
70
+ industry_relevance,
71
+ };
72
+ }
73
+ /** Normalize recommend payload, or wrap bare admin list arrays. */
74
+ export function normalizeListAvailablePacksResult(raw) {
75
+ if (Array.isArray(raw)) {
76
+ return {
77
+ all_packs: raw
78
+ .map(normalizePackSummary)
79
+ .filter((p) => p != null),
80
+ };
81
+ }
82
+ const rec = asRecord(raw) ?? {};
83
+ const packsRaw = rec.all_packs ?? rec.allPacks ?? rec.packs ?? [];
84
+ const all_packs = Array.isArray(packsRaw)
85
+ ? packsRaw.map(normalizePackSummary).filter((p) => p != null)
86
+ : [];
87
+ return {
88
+ ...rec,
89
+ recommended_pack_id: pickString(rec, 'recommended_pack_id', 'recommendedPackId') ??
90
+ (rec.recommended_pack_id === null || rec.recommendedPackId === null ? null : undefined),
91
+ confidence: typeof rec.confidence === 'string' ? rec.confidence : rec.confidence,
92
+ reason: pickString(rec, 'reason') ?? undefined,
93
+ all_packs,
94
+ };
95
+ }
96
+ export function createPacksApi(http, deps = {}) {
97
+ async function list_available() {
98
+ const res = await http.get('/graph/admin/vocabulary-packs/recommend');
99
+ return normalizeListAvailablePacksResult(unwrapData(res));
100
+ }
101
+ async function activate(input) {
102
+ const pack_id = typeof input === 'string' ? input : input.pack_id;
103
+ if (!pack_id)
104
+ throw new Error('pack_id is required');
105
+ const organization_id = requireOrg(deps, typeof input === 'string' ? undefined : input.organization_id);
106
+ const res = await http.post(`/graph/admin/vocabulary-packs/${encodeURIComponent(pack_id)}/enable`, { organization_id });
107
+ return unwrapData(res);
108
+ }
109
+ async function get_activation_status() {
110
+ const res = await http.get('/graph/semantic-layer/activation-state');
111
+ return normalizePackActivationStatus(unwrapData(res));
112
+ }
113
+ return {
114
+ list_available,
115
+ list_available_packs: list_available,
116
+ activate,
117
+ activate_vocabulary_pack: activate,
118
+ get_activation_status,
119
+ get_pack_activation_status: get_activation_status,
120
+ };
121
+ }
122
+ //# sourceMappingURL=packs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packs.js","sourceRoot":"","sources":["../../src/client/packs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,SAAS,UAAU,CAAI,GAAY;IACjC,OAAO,CAAE,GAAoB,CAAC,IAAI,IAAI,GAAG,CAAM,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,IAAkB,EAAE,QAAiB;IACvD,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,GAA4B,EAAE,GAAG,IAAc;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAY;IAC5C,IAAI,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QAC9E,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,6BAA6B,CAAC,GAAY;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO;QACL,gBAAgB,EAAE,wBAAwB,CACxC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,eAAe,CAC5C;QACD,cAAc,EAAE,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,cAAc,CAAC;QACjE,mBAAmB,EAAE,UAAU,CAAC,GAAG,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;QAChF,wBAAwB,EAAE,UAAU,CAClC,GAAG,EACH,0BAA0B,EAC1B,uBAAuB,CACxB;QACD,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC;IAC/E,MAAM,UAAU,GACd,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;QAChC,CAAC,CAAC,GAAG,CAAC,UAAU;QAChB,CAAC,CAAC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;YACjC,CAAC,CAAC,GAAG,CAAC,SAAS;YACf,CAAC,CAAC,SAAS,CAAC;IAClB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC;IACxD,MAAM,kBAAkB,GACtB,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,IAAI,SAAS,CAAC;IAC1E,OAAO;QACL,GAAG,GAAG;QACN,OAAO;QACP,YAAY;QACZ,UAAU;QACV,OAAO;QACP,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iCAAiC,CAAC,GAAY;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,SAAS,EAAE,GAAG;iBACX,GAAG,CAAC,oBAAoB,CAAC;iBACzB,MAAM,CAAC,CAAC,CAAC,EAA6B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA6B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;QACxF,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,GAAG,GAAG;QACN,mBAAmB,EACjB,UAAU,CAAC,GAAG,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;YAC3D,CAAC,GAAG,CAAC,mBAAmB,KAAK,IAAI,IAAI,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,UAAU,EACR,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,GAAG,CAAC,UAAwB;QACrF,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,SAAS;QAC9C,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAsB,EACtB,OAAqB,EAAE;IAcvB,KAAK,UAAU,cAAc;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACtE,OAAO,iCAAiC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,UAAU,QAAQ,CACrB,KAA2C;QAE3C,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,UAAU,CAChC,IAAI,EACJ,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAC9D,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CACzB,iCAAiC,kBAAkB,CAAC,OAAO,CAAC,SAAS,EACrE,EAAE,eAAe,EAAE,CACpB,CAAC;QACF,OAAO,UAAU,CAA+B,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,UAAU,qBAAqB;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACrE,OAAO,6BAA6B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,cAAc;QACd,oBAAoB,EAAE,cAAc;QACpC,QAAQ;QACR,wBAAwB,EAAE,QAAQ;QAClC,qBAAqB;QACrB,0BAA0B,EAAE,qBAAqB;KAClD,CAAC;AACJ,CAAC"}
@@ -1,15 +1,156 @@
1
1
  /**
2
- * Procedures API types.
3
- * Backend: process-intelligence microservice /process-intelligence/organizations/:organization_id/procedures.
2
+ * Procedures API types (LOX-1249).
3
+ * MCP: loxtep_context list/get/create/update/delete/import/export_process_graph.
4
+ * REST: /graph/... procedures (authored process maps), not process-intelligence discovery.
4
5
  */
6
+ export interface ProceduresApiDeps {
7
+ organization_id?: string;
8
+ }
9
+ export type ProcedureStatus = 'draft' | 'active' | 'deprecated';
10
+ export type ProcedureExportFormat = 'jsonld' | 'yaml' | 'summary';
11
+ export type ProcedureDependencyRelationship = 'feeds_into' | 'depends_on' | 'triggers' | 'supersedes';
12
+ /** List/detail procedure shape from the graph procedures API. */
5
13
  export interface Procedure {
6
14
  procedure_id: string;
7
15
  name: string;
8
- description: string | null;
9
- frequency: number;
10
- confidence: number;
11
- systems: string[];
16
+ description?: string | null;
17
+ status?: ProcedureStatus | string;
18
+ domain_id?: string | null;
19
+ version?: string | null;
20
+ owner?: string | null;
21
+ steps?: ProcedureStep[];
22
+ decisions?: ProcedureDecision[];
23
+ triggers?: ProcedureTrigger[];
24
+ dependencies?: ProcedureDependency[];
25
+ metadata?: Record<string, unknown>;
26
+ lifecycle_state?: string | null;
27
+ change_propagation_policy?: string | null;
28
+ created_at?: string;
29
+ updated_at?: string;
30
+ /** Catch-all for platform-added fields (platform procedures, coverage, etc.). */
31
+ [key: string]: unknown;
32
+ }
33
+ export interface ProcedureStep {
34
+ step_id?: string;
35
+ name: string;
36
+ description?: string;
37
+ order: number;
38
+ system?: string;
39
+ event_type?: string;
40
+ agents?: string[];
41
+ inputs?: string[];
42
+ outputs?: string[];
43
+ next_steps?: string[];
44
+ decision_ref?: string;
45
+ glossary_terms?: string[];
46
+ data_product_id?: string;
47
+ metadata?: Record<string, unknown>;
48
+ }
49
+ export interface ProcedureDecisionOutcome {
50
+ outcome: string;
51
+ next_step_ref?: string;
52
+ description?: string;
53
+ }
54
+ export interface ProcedureDecision {
55
+ decision_id?: string;
56
+ name: string;
57
+ rule: string;
58
+ inputs?: string[];
59
+ outcomes: ProcedureDecisionOutcome[];
60
+ override_authority?: string;
61
+ }
62
+ export interface ProcedureTrigger {
63
+ trigger_id?: string;
64
+ type: string;
65
+ configuration?: Record<string, unknown>;
66
+ description?: string;
67
+ }
68
+ export interface ProcedureDependency {
69
+ target_procedure_id: string;
70
+ relationship_type: ProcedureDependencyRelationship;
71
+ description?: string;
72
+ }
73
+ export interface ProceduresListFilters {
74
+ organization_id?: string;
75
+ status?: ProcedureStatus;
76
+ name?: string;
77
+ has_step_with_agent?: string;
78
+ has_trigger_type?: string;
79
+ domain_id?: string;
80
+ has_dependents?: boolean;
81
+ depends_on?: string;
82
+ created_after?: string;
83
+ created_before?: string;
84
+ /** Frontend helper flag; forwarded when set (not in MCP list schema). */
85
+ include_platform?: boolean;
86
+ }
87
+ export interface ProceduresListResult {
88
+ procedures: Procedure[];
89
+ total?: number;
90
+ }
91
+ export interface ProcedureCreateInput {
92
+ organization_id?: string;
93
+ name: string;
94
+ description?: string;
95
+ status?: ProcedureStatus;
96
+ domain_id?: string;
97
+ version?: string | null;
98
+ owner?: string | null;
99
+ steps?: ProcedureStep[];
100
+ decisions?: ProcedureDecision[];
101
+ triggers?: ProcedureTrigger[];
102
+ dependencies?: ProcedureDependency[];
103
+ metadata?: Record<string, unknown>;
104
+ lifecycle_state?: string;
105
+ change_propagation_policy?: string;
106
+ }
107
+ export interface ProcedureUpdateInput {
108
+ organization_id?: string;
109
+ name?: string;
110
+ description?: string;
111
+ status?: ProcedureStatus;
112
+ domain_id?: string | null;
113
+ version?: string | null;
114
+ owner?: string | null;
115
+ steps?: ProcedureStep[];
116
+ decisions?: ProcedureDecision[];
117
+ triggers?: ProcedureTrigger[];
118
+ dependencies?: ProcedureDependency[];
119
+ metadata?: Record<string, unknown>;
120
+ lifecycle_state?: string;
121
+ change_propagation_policy?: string;
122
+ }
123
+ export interface ProcedureDeleteResult {
124
+ procedure?: Procedure | Record<string, unknown>;
125
+ warnings?: string[];
126
+ raw?: unknown;
127
+ }
128
+ export interface ImportProcessGraphS3Reference {
129
+ s3_bucket: string;
130
+ s3_key: string;
131
+ }
132
+ export interface ImportProcessGraphOptions {
133
+ create_missing_vocabulary?: boolean;
134
+ namespace_strict?: boolean;
135
+ }
136
+ export interface ImportProcessGraphInput {
137
+ organization_id?: string;
138
+ /** Inline JSON-LD graph (string or object). Mutually exclusive with s3_reference. */
139
+ graph?: string | Record<string, unknown>;
140
+ /** S3 reference for larger graphs. Mutually exclusive with graph. */
141
+ s3_reference?: ImportProcessGraphS3Reference;
142
+ procedure_id?: string;
143
+ domain_id?: string;
144
+ skip_catalog?: boolean;
145
+ options?: ImportProcessGraphOptions;
146
+ }
147
+ export interface ExportProcessGraphInput {
148
+ procedure_id: string;
149
+ format?: ProcedureExportFormat;
150
+ preserve_namespaces?: boolean;
151
+ organization_id?: string;
12
152
  }
153
+ /** @deprecated PI discovery list envelope — prefer ProceduresListResult (graph). */
13
154
  export interface ProceduresListResponse {
14
155
  success: true;
15
156
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"procedures-types.d.ts","sourceRoot":"","sources":["../../src/client/procedures-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,UAAU,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH"}
1
+ {"version":3,"file":"procedures-types.d.ts","sourceRoot":"","sources":["../../src/client/procedures-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Procedures API types.
3
- * Backend: process-intelligence microservice /process-intelligence/organizations/:organization_id/procedures.
2
+ * Procedures API types (LOX-1249).
3
+ * MCP: loxtep_context list/get/create/update/delete/import/export_process_graph.
4
+ * REST: /graph/... procedures (authored process maps), not process-intelligence discovery.
4
5
  */
5
6
  export {};
6
7
  //# sourceMappingURL=procedures-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedures-types.js","sourceRoot":"","sources":["../../src/client/procedures-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"procedures-types.js","sourceRoot":"","sources":["../../src/client/procedures-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,19 +1,33 @@
1
1
  /**
2
- * Procedures API. list.
3
- * Backend: process-intelligence microservice /process-intelligence/organizations/:organization_id/procedures.
2
+ * Procedures API (LOX-1249). CRUD + import/export vs MCP loxtep_context.
3
+ *
4
+ * GET /graph/organizations/{org}/procedures
5
+ * GET /graph/procedures/{procedure_id}
6
+ * POST /graph/organizations/{org}/procedures
7
+ * PUT /graph/procedures/{procedure_id}
8
+ * DELETE /graph/procedures/{procedure_id}
9
+ * POST /graph/organizations/{org}/procedures/import
10
+ * GET /graph/procedures/{procedure_id}/export
4
11
  */
5
12
  import type { LoxtepHttpClient } from '../http/client.js';
6
- import type { Procedure, ProceduresListResponse } from './procedures-types.js';
13
+ import type { ExportProcessGraphInput, ImportProcessGraphInput, Procedure, ProcedureCreateInput, ProcedureDeleteResult, ProcedureUpdateInput, ProceduresApiDeps, ProceduresListFilters, ProceduresListResult } from './procedures-types.js';
14
+ export type ProceduresApi = {
15
+ list: (filters?: ProceduresListFilters) => Promise<ProceduresListResult>;
16
+ /** MCP op name alias for list. */
17
+ list_procedures: (filters?: ProceduresListFilters) => Promise<ProceduresListResult>;
18
+ get: (procedure_id: string, organization_id?: string) => Promise<Procedure>;
19
+ get_procedure: (procedure_id: string, organization_id?: string) => Promise<Procedure>;
20
+ create: (input: ProcedureCreateInput) => Promise<Procedure | Record<string, unknown>>;
21
+ create_procedure: (input: ProcedureCreateInput) => Promise<Procedure | Record<string, unknown>>;
22
+ update: (procedure_id: string, input: ProcedureUpdateInput) => Promise<Procedure | Record<string, unknown>>;
23
+ update_procedure: (procedure_id: string, input: ProcedureUpdateInput) => Promise<Procedure | Record<string, unknown>>;
24
+ delete: (procedure_id: string, organization_id?: string) => Promise<ProcedureDeleteResult>;
25
+ delete_procedure: (procedure_id: string, organization_id?: string) => Promise<ProcedureDeleteResult>;
26
+ import_process_graph: (input: ImportProcessGraphInput) => Promise<Procedure | Record<string, unknown>>;
27
+ export_process_graph: (input: ExportProcessGraphInput) => Promise<unknown>;
28
+ };
7
29
  /**
8
- * Create the procedures API surface.
30
+ * Create the procedures API surface (graph CRUD + import/export).
9
31
  */
10
- export declare function createProceduresApi(http: LoxtepHttpClient): {
11
- list: (organization_id: string, params?: {
12
- page?: number;
13
- page_size?: number;
14
- }) => Promise<{
15
- items: Procedure[];
16
- pagination: ProceduresListResponse['data']['pagination'];
17
- }>;
18
- };
32
+ export declare function createProceduresApi(http: LoxtepHttpClient, deps?: ProceduresApiDeps): ProceduresApi;
19
33
  //# sourceMappingURL=procedures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/client/procedures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAa/E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAC3D,IAAI,EAAE,CACJ,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3C,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAA;KAAE,CAAC,CAAC;CAChG,CAgBA"}
1
+ {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/client/procedures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAoE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,kCAAkC;IAClC,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpF,GAAG,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5E,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACtF,MAAM,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtF,gBAAgB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,MAAM,EAAE,CACN,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,gBAAgB,EAAE,CAChB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3F,gBAAgB,EAAE,CAChB,YAAY,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC,oBAAoB,EAAE,CACpB,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,oBAAoB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,IAAI,GAAE,iBAAsB,GAC3B,aAAa,CA+Jf"}
@@ -1,33 +1,193 @@
1
1
  /**
2
- * Procedures API. list.
3
- * Backend: process-intelligence microservice /process-intelligence/organizations/:organization_id/procedures.
2
+ * Procedures API (LOX-1249). CRUD + import/export vs MCP loxtep_context.
3
+ *
4
+ * GET /graph/organizations/{org}/procedures
5
+ * GET /graph/procedures/{procedure_id}
6
+ * POST /graph/organizations/{org}/procedures
7
+ * PUT /graph/procedures/{procedure_id}
8
+ * DELETE /graph/procedures/{procedure_id}
9
+ * POST /graph/organizations/{org}/procedures/import
10
+ * GET /graph/procedures/{procedure_id}/export
4
11
  */
5
- const PROCESS_INTELLIGENCE_BASE = '/process-intelligence';
6
- function buildQueryString(params) {
12
+ function unwrapData(res) {
13
+ return (res.data ?? res);
14
+ }
15
+ function requireOrg(deps, override) {
16
+ const org = override ?? deps.organization_id;
17
+ if (!org) {
18
+ throw new Error('organization_id is required for procedures calls (set it on the client or pass it explicitly)');
19
+ }
20
+ return org;
21
+ }
22
+ function orgProceduresPath(org) {
23
+ return `/graph/organizations/${encodeURIComponent(org)}/procedures`;
24
+ }
25
+ function procedurePath(procedure_id) {
26
+ return `/graph/procedures/${encodeURIComponent(procedure_id)}`;
27
+ }
28
+ function buildListQuery(filters) {
7
29
  const search = new URLSearchParams();
8
- for (const [k, v] of Object.entries(params)) {
9
- if (v !== undefined && v !== null)
10
- search.set(k, String(v));
30
+ if (filters.status)
31
+ search.set('status', filters.status);
32
+ if (filters.name)
33
+ search.set('name', filters.name);
34
+ if (filters.has_step_with_agent)
35
+ search.set('has_step_with_agent', filters.has_step_with_agent);
36
+ if (filters.has_trigger_type)
37
+ search.set('has_trigger_type', filters.has_trigger_type);
38
+ if (filters.domain_id)
39
+ search.set('domain_id', filters.domain_id);
40
+ if (filters.has_dependents !== undefined) {
41
+ search.set('has_dependents', String(filters.has_dependents));
42
+ }
43
+ if (filters.depends_on)
44
+ search.set('depends_on', filters.depends_on);
45
+ if (filters.created_after)
46
+ search.set('created_after', filters.created_after);
47
+ if (filters.created_before)
48
+ search.set('created_before', filters.created_before);
49
+ if (filters.include_platform !== undefined) {
50
+ search.set('include_platform', String(filters.include_platform));
11
51
  }
12
52
  const qs = search.toString();
13
53
  return qs ? `?${qs}` : '';
14
54
  }
55
+ function normalizeListResult(data) {
56
+ if (Array.isArray(data)) {
57
+ return { procedures: data, total: data.length };
58
+ }
59
+ const obj = (data ?? {});
60
+ const procedures = obj.procedures ?? obj.items ?? [];
61
+ return {
62
+ procedures,
63
+ total: obj.total ?? procedures.length,
64
+ };
65
+ }
66
+ function omitUndefined(body) {
67
+ const out = {};
68
+ for (const [k, v] of Object.entries(body)) {
69
+ if (v !== undefined)
70
+ out[k] = v;
71
+ }
72
+ return out;
73
+ }
15
74
  /**
16
- * Create the procedures API surface.
75
+ * Create the procedures API surface (graph CRUD + import/export).
17
76
  */
18
- export function createProceduresApi(http) {
77
+ export function createProceduresApi(http, deps = {}) {
78
+ async function list(filters = {}) {
79
+ const org = requireOrg(deps, filters.organization_id);
80
+ const res = await http.get(`${orgProceduresPath(org)}${buildListQuery(filters)}`);
81
+ return normalizeListResult(unwrapData(res));
82
+ }
83
+ async function get(procedure_id, _organization_id) {
84
+ if (!procedure_id)
85
+ throw new Error('procedure_id is required');
86
+ // Path is /graph/procedures/:id — organization_id is MCP routing context only.
87
+ const res = await http.get(procedurePath(procedure_id));
88
+ return unwrapData(res);
89
+ }
90
+ async function create(input) {
91
+ if (!input?.name)
92
+ throw new Error('name is required');
93
+ const org = requireOrg(deps, input.organization_id);
94
+ const { organization_id: _org, name, description, status, domain_id, version, owner, steps, decisions, triggers, dependencies, metadata, lifecycle_state, change_propagation_policy, } = input;
95
+ const body = omitUndefined({
96
+ name,
97
+ description,
98
+ status,
99
+ domain_id,
100
+ version,
101
+ owner,
102
+ steps,
103
+ decisions,
104
+ triggers,
105
+ dependencies,
106
+ metadata,
107
+ lifecycle_state,
108
+ change_propagation_policy,
109
+ });
110
+ const res = await http.post(orgProceduresPath(org), body);
111
+ return unwrapData(res);
112
+ }
113
+ async function update(procedure_id, input) {
114
+ if (!procedure_id)
115
+ throw new Error('procedure_id is required');
116
+ const { organization_id: _org, name, description, status, domain_id, version, owner, steps, decisions, triggers, dependencies, metadata, lifecycle_state, change_propagation_policy, } = input;
117
+ const body = omitUndefined({
118
+ name,
119
+ description,
120
+ status,
121
+ domain_id,
122
+ version,
123
+ owner,
124
+ steps,
125
+ decisions,
126
+ triggers,
127
+ dependencies,
128
+ metadata,
129
+ lifecycle_state,
130
+ change_propagation_policy,
131
+ });
132
+ if (Object.keys(body).length === 0) {
133
+ throw new Error('At least one field must be provided for update');
134
+ }
135
+ const res = await http.put(procedurePath(procedure_id), body);
136
+ return unwrapData(res);
137
+ }
138
+ async function deleteProcedure(procedure_id, _organization_id) {
139
+ if (!procedure_id)
140
+ throw new Error('procedure_id is required');
141
+ const res = await http.delete(procedurePath(procedure_id));
142
+ const envelope = res;
143
+ return {
144
+ procedure: unwrapData(res),
145
+ warnings: envelope.warnings,
146
+ raw: res,
147
+ };
148
+ }
149
+ async function importProcessGraph(input) {
150
+ const org = requireOrg(deps, input.organization_id);
151
+ if (input.graph == null && input.s3_reference == null) {
152
+ throw new Error('Either graph (inline JSON-LD) or s3_reference must be provided');
153
+ }
154
+ if (input.graph != null && input.s3_reference != null) {
155
+ throw new Error('Cannot provide both graph and s3_reference — choose one');
156
+ }
157
+ const body = omitUndefined({
158
+ graph: input.graph,
159
+ s3_reference: input.s3_reference,
160
+ procedure_id: input.procedure_id,
161
+ domain_id: input.domain_id,
162
+ skip_catalog: input.skip_catalog,
163
+ options: input.options,
164
+ });
165
+ const res = await http.post(`${orgProceduresPath(org)}/import`, body);
166
+ return unwrapData(res);
167
+ }
168
+ async function exportProcessGraph(input) {
169
+ if (!input?.procedure_id)
170
+ throw new Error('procedure_id is required');
171
+ const format = input.format ?? 'jsonld';
172
+ const qs = new URLSearchParams({ format });
173
+ if (input.preserve_namespaces)
174
+ qs.set('preserve_namespaces', 'true');
175
+ const res = await http.get(`${procedurePath(input.procedure_id)}/export?${qs.toString()}`);
176
+ return unwrapData(res);
177
+ }
19
178
  return {
20
- async list(organization_id, params) {
21
- const qs = buildQueryString({
22
- page: params?.page ?? 1,
23
- page_size: params?.page_size ?? 20,
24
- });
25
- const res = await http.get(`${PROCESS_INTELLIGENCE_BASE}/organizations/${encodeURIComponent(organization_id)}/procedures${qs}`);
26
- return {
27
- items: res.data.items,
28
- pagination: res.data.pagination,
29
- };
30
- },
179
+ list,
180
+ list_procedures: list,
181
+ get,
182
+ get_procedure: get,
183
+ create,
184
+ create_procedure: create,
185
+ update,
186
+ update_procedure: update,
187
+ delete: deleteProcedure,
188
+ delete_procedure: deleteProcedure,
189
+ import_process_graph: importProcessGraph,
190
+ export_process_graph: exportProcessGraph,
31
191
  };
32
192
  }
33
193
  //# sourceMappingURL=procedures.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/client/procedures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAE1D,SAAS,gBAAgB,CAAC,MAA8B;IACtD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IAMxD,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,eAAuB,EAAE,MAA8C;YAChF,MAAM,EAAE,GAAG,gBAAgB,CAAC;gBAC1B,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC;gBACvB,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;aACnC,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,GAAG,yBAAyB,kBAAkB,kBAAkB,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,CACpG,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;gBACrB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;aAChC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/client/procedures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH,SAAS,UAAU,CAAI,GAAY;IACjC,OAAO,CAAE,GAAoB,CAAC,IAAI,IAAI,GAAG,CAAM,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,IAAuB,EAAE,QAAiB;IAC5D,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,wBAAwB,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,YAAoB;IACzC,OAAO,qBAAqB,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,OAA8B;IACpD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,mBAAmB;QAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChG,IAAI,OAAO,CAAC,gBAAgB;QAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvF,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,CAAC,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,aAAa;QAAE,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,cAAc;QAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,UAAU,EAAE,IAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAItB,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACrD,OAAO;QACL,UAAU;QACV,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAA6B;IAClD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA6BD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAsB,EACtB,OAA0B,EAAE;IAE5B,KAAK,UAAU,IAAI,CAAC,UAAiC,EAAE;QACrD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,UAAU,GAAG,CAAC,YAAoB,EAAE,gBAAyB;QAChE,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC/D,+EAA+E;QAC/E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QACxD,OAAO,UAAU,CAAY,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,KAA2B;QAE3B,IAAI,CAAC,KAAK,EAAE,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,EACJ,eAAe,EAAE,IAAI,EACrB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,yBAAyB,GAC1B,GAAG,KAAK,CAAC;QACV,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,IAAI;YACJ,WAAW;YACX,MAAM;YACN,SAAS;YACT,OAAO;YACP,KAAK;YACL,KAAK;YACL,SAAS;YACT,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,eAAe;YACf,yBAAyB;SAC1B,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,YAAoB,EACpB,KAA2B;QAE3B,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC/D,MAAM,EACJ,eAAe,EAAE,IAAI,EACrB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,yBAAyB,GAC1B,GAAG,KAAK,CAAC;QACV,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,IAAI;YACJ,WAAW;YACX,MAAM;YACN,SAAS;YACT,OAAO;YACP,KAAK;YACL,KAAK;YACL,SAAS;YACT,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,eAAe;YACf,yBAAyB;SAC1B,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,YAAoB,EACpB,gBAAyB;QAEzB,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,GAGhB,CAAC;QACF,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC;YAC1B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,GAAG,EAAE,GAAG;SACT,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,KAA8B;QAE9B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,UAAU,kBAAkB,CAAC,KAA8B;QAC9D,IAAI,CAAC,KAAK,EAAE,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,mBAAmB;YAAE,EAAE,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3F,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,eAAe,EAAE,IAAI;QACrB,GAAG;QACH,aAAa,EAAE,GAAG;QAClB,MAAM;QACN,gBAAgB,EAAE,MAAM;QACxB,MAAM;QACN,gBAAgB,EAAE,MAAM;QACxB,MAAM,EAAE,eAAe;QACvB,gBAAgB,EAAE,eAAe;QACjC,oBAAoB,EAAE,kBAAkB;QACxC,oBAAoB,EAAE,kBAAkB;KACzC,CAAC;AACJ,CAAC"}