callman-core 1.32.0 → 1.34.0

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 (106) hide show
  1. package/ai-packs/scenario-nodes.md +57 -2
  2. package/dist/ai/prompts/scenario.d.ts +1 -1
  3. package/dist/ai/prompts/scenario.d.ts.map +1 -1
  4. package/dist/ai/prompts/scenario.js +3 -1
  5. package/dist/ai/prompts/scenario.js.map +1 -1
  6. package/dist/ai/prompts/scenarioNodeDefaults.d.ts.map +1 -1
  7. package/dist/ai/prompts/scenarioNodeDefaults.js +9 -0
  8. package/dist/ai/prompts/scenarioNodeDefaults.js.map +1 -1
  9. package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -1
  10. package/dist/ai/prompts/scenarioNodeReference.js +80 -2
  11. package/dist/ai/prompts/scenarioNodeReference.js.map +1 -1
  12. package/dist/host/db/oracleAdapter.d.ts +26 -0
  13. package/dist/host/db/oracleAdapter.d.ts.map +1 -1
  14. package/dist/host/db/oracleAdapter.js +65 -7
  15. package/dist/host/db/oracleAdapter.js.map +1 -1
  16. package/dist/host/db/queryExecutor.d.ts.map +1 -1
  17. package/dist/host/db/queryExecutor.js +3 -1
  18. package/dist/host/db/queryExecutor.js.map +1 -1
  19. package/dist/host/db/types.d.ts +2 -0
  20. package/dist/host/db/types.d.ts.map +1 -1
  21. package/dist/host/index.d.ts +4 -1
  22. package/dist/host/index.d.ts.map +1 -1
  23. package/dist/host/index.js +4 -1
  24. package/dist/host/index.js.map +1 -1
  25. package/dist/host/temporal/temporalService.d.ts +67 -0
  26. package/dist/host/temporal/temporalService.d.ts.map +1 -0
  27. package/dist/host/temporal/temporalService.js +1182 -0
  28. package/dist/host/temporal/temporalService.js.map +1 -0
  29. package/dist/host/temporal/types.d.ts +13 -0
  30. package/dist/host/temporal/types.d.ts.map +1 -0
  31. package/dist/host/temporal/types.js +5 -0
  32. package/dist/host/temporal/types.js.map +1 -0
  33. package/dist/scenario-runner/adapters/connection-config.d.ts +17 -1
  34. package/dist/scenario-runner/adapters/connection-config.d.ts.map +1 -1
  35. package/dist/scenario-runner/adapters/index.d.ts +3 -2
  36. package/dist/scenario-runner/adapters/index.d.ts.map +1 -1
  37. package/dist/scenario-runner/adapters/index.js +7 -0
  38. package/dist/scenario-runner/adapters/index.js.map +1 -1
  39. package/dist/scenario-runner/adapters/temporal-executor.d.ts +10 -0
  40. package/dist/scenario-runner/adapters/temporal-executor.d.ts.map +1 -0
  41. package/dist/scenario-runner/adapters/temporal-executor.js +186 -0
  42. package/dist/scenario-runner/adapters/temporal-executor.js.map +1 -0
  43. package/dist/scenario-runner/adapters/types.d.ts +16 -5
  44. package/dist/scenario-runner/adapters/types.d.ts.map +1 -1
  45. package/dist/scenario-runner/condition.d.ts.map +1 -1
  46. package/dist/scenario-runner/condition.js +73 -0
  47. package/dist/scenario-runner/condition.js.map +1 -1
  48. package/dist/scenario-runner/graphTraversal.d.ts +6 -0
  49. package/dist/scenario-runner/graphTraversal.d.ts.map +1 -1
  50. package/dist/scenario-runner/graphTraversal.js +9 -0
  51. package/dist/scenario-runner/graphTraversal.js.map +1 -1
  52. package/dist/scenario-runner/index.d.ts +1 -0
  53. package/dist/scenario-runner/index.d.ts.map +1 -1
  54. package/dist/scenario-runner/index.js +3 -0
  55. package/dist/scenario-runner/index.js.map +1 -1
  56. package/dist/scenario-runner/nodePolicy.d.ts +2 -2
  57. package/dist/scenario-runner/nodePolicy.d.ts.map +1 -1
  58. package/dist/scenario-runner/nodePolicy.js +3 -0
  59. package/dist/scenario-runner/nodePolicy.js.map +1 -1
  60. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  61. package/dist/scenario-runner/runScenario.js +76 -0
  62. package/dist/scenario-runner/runScenario.js.map +1 -1
  63. package/dist/scenario-runner/temporal.d.ts +73 -0
  64. package/dist/scenario-runner/temporal.d.ts.map +1 -0
  65. package/dist/scenario-runner/temporal.js +377 -0
  66. package/dist/scenario-runner/temporal.js.map +1 -0
  67. package/dist/scenario-runner/types.d.ts +206 -4
  68. package/dist/scenario-runner/types.d.ts.map +1 -1
  69. package/dist/ui-test/commands.d.ts.map +1 -1
  70. package/dist/ui-test/commands.js +71 -0
  71. package/dist/ui-test/commands.js.map +1 -1
  72. package/dist-cjs/ai/prompts/scenario.js +3 -1
  73. package/dist-cjs/ai/prompts/scenario.js.map +1 -1
  74. package/dist-cjs/ai/prompts/scenarioNodeDefaults.js +9 -0
  75. package/dist-cjs/ai/prompts/scenarioNodeDefaults.js.map +1 -1
  76. package/dist-cjs/ai/prompts/scenarioNodeReference.js +79 -1
  77. package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -1
  78. package/dist-cjs/host/db/oracleAdapter.js +70 -8
  79. package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
  80. package/dist-cjs/host/db/queryExecutor.js +2 -0
  81. package/dist-cjs/host/db/queryExecutor.js.map +1 -1
  82. package/dist-cjs/host/index.js +26 -2
  83. package/dist-cjs/host/index.js.map +1 -1
  84. package/dist-cjs/host/temporal/temporalService.js +1200 -0
  85. package/dist-cjs/host/temporal/temporalService.js.map +1 -0
  86. package/dist-cjs/host/temporal/types.js +6 -0
  87. package/dist-cjs/host/temporal/types.js.map +1 -0
  88. package/dist-cjs/scenario-runner/adapters/index.js +9 -1
  89. package/dist-cjs/scenario-runner/adapters/index.js.map +1 -1
  90. package/dist-cjs/scenario-runner/adapters/temporal-executor.js +190 -0
  91. package/dist-cjs/scenario-runner/adapters/temporal-executor.js.map +1 -0
  92. package/dist-cjs/scenario-runner/condition.js +73 -0
  93. package/dist-cjs/scenario-runner/condition.js.map +1 -1
  94. package/dist-cjs/scenario-runner/graphTraversal.js +10 -1
  95. package/dist-cjs/scenario-runner/graphTraversal.js.map +1 -1
  96. package/dist-cjs/scenario-runner/index.js +3 -0
  97. package/dist-cjs/scenario-runner/index.js.map +1 -1
  98. package/dist-cjs/scenario-runner/nodePolicy.js +3 -0
  99. package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -1
  100. package/dist-cjs/scenario-runner/runScenario.js +76 -0
  101. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  102. package/dist-cjs/scenario-runner/temporal.js +386 -0
  103. package/dist-cjs/scenario-runner/temporal.js.map +1 -0
  104. package/dist-cjs/ui-test/commands.js +71 -0
  105. package/dist-cjs/ui-test/commands.js.map +1 -1
  106. package/package.json +2 -1
@@ -59,7 +59,7 @@ Req column: **yes** = rejected on save without a real value; **run** = saved, bu
59
59
 
60
60
  ## Connections
61
61
 
62
- db, redis, kafka, notification and ai nodes run on a workspace connection: `config.connectionId` is the id of a connection of type `database`, `redis`, `kafka`, `notification` (Slack) or `ai` (managed). Use a real connection id from the workspace — never invent one. Only the ai node rejects an empty id on save; the others save with `""` and fail when run.
62
+ db, redis, kafka, notification, ai and temporal nodes run on a workspace connection: `config.connectionId` is the id of a connection of type `database`, `redis`, `kafka`, `notification` (Slack), `ai` (managed) or `temporal` (a Temporal.io cluster / Temporal Cloud namespace). Use a real connection id from the workspace — never invent one. Only the ai node rejects an empty id on save; the others save with `""` and fail when run.
63
63
 
64
64
  ## Labels
65
65
 
@@ -107,7 +107,7 @@ Every node except condition takes `executionPolicy: { onFailure: "stop" | "conti
107
107
  - stop: a failure ends the run; continue: the run goes on along the normal edges.
108
108
  - `error` edges from the failing node win over both: the run follows them instead of the normal edges (after the retries).
109
109
  - How the run ends: `success` only when no node failed. A failure that continued or was routed through an `error` edge marks that node `failed_continued` and the run ends `completed_with_failures` — never `success`. A stop failure ends it `failed`.
110
- - `expectFailure: { messagePattern? }` turns the node into a negative test (`request`, `db`, `redis`, `kafka`, `websocket`, `script`, `assertion`, `poll`, `ai`, `notification`): an attempt that FAILS with a message matching `messagePattern` (a JS regex, ≤500 chars; omitted = any failure) makes the node succeed — normal edges run, the run can end `success`, and the output is `<Label>.expectedFailure.message`. An attempt that succeeds, or fails with another message, is a failure (retry and onFailure apply as usual, so retry can wait for something to start failing). Use it for absence checks (a Kafka event that must not appear, a poll that must time out, a request that must be refused). On a db node a non-empty `expectError` wins.
110
+ - `expectFailure: { messagePattern? }` turns the node into a negative test (`request`, `db`, `redis`, `kafka`, `websocket`, `script`, `assertion`, `poll`, `ai`, `temporal`, `notification`): an attempt that FAILS with a message matching `messagePattern` (a JS regex, ≤500 chars; omitted = any failure) makes the node succeed — normal edges run, the run can end `success`, and the output is `<Label>.expectedFailure.message`. An attempt that succeeds, or fails with another message, is a failure (retry and onFailure apply as usual, so retry can wait for something to start failing). Use it for absence checks (a Kafka event that must not appear, a poll that must time out, a request that must be refused). On a db node a non-empty `expectError` wins.
111
111
  - Example: `"executionPolicy": { "onFailure": "stop", "retry": { "enabled": false, "maxAttempts": 0, "delayMs": 0 }, "expectFailure": { "messagePattern": "timed out" } }`.
112
112
 
113
113
  ## Node types
@@ -357,6 +357,61 @@ Output: The parsed JSON reply: `<Label>.<exampleKey>`.
357
357
  {"id":"classify","type":"ai","label":"Classify","config":{"connectionId":"<ai connection id>","prompt":"Classify the sentiment of: {{GetReview.body.text}}","responseExample":"{\"sentiment\":\"positive\",\"score\":0.9}"}}
358
358
  ```
359
359
 
360
+ ### temporal
361
+ One Temporal.io client operation (start / signal / query / update / await / describe / history / cancel / terminate / list / count / describeTaskQueue) on a workspace connection of type `temporal`.
362
+
363
+ | Field | Type | Default | Req | Notes |
364
+ | --- | --- | --- | --- | --- |
365
+ | `connectionId` | string | `""` | run | A connection of type `temporal`. |
366
+ | `operation` | "startWorkflow" \| "signal" \| "signalWithStart" \| "query" \| "update" \| "awaitResult" \| "describe" \| "history" \| "cancel" \| "terminate" \| "list" \| "count" \| "describeTaskQueue" | `"describe"` | yes | Required fields per operation: startWorkflow → workflowType + taskQueue; signal → workflowId + signalName; signalWithStart → workflowId + workflowType + taskQueue + signalName; query → workflowId + queryName; update → workflowId + updateName; awaitResult → workflowId; describe → workflowId; history → workflowId; cancel → workflowId; terminate → workflowId; list → query; count → query; describeTaskQueue → taskQueue. |
367
+ | `namespace` | string | — | | Overrides the connection's namespace. Template-resolved. |
368
+ | `workflowId` | string | `""` | | Template-resolved. On startWorkflow an empty id is generated (`callman-<label>-<uuid>`). |
369
+ | `runId` | string | — | | Optional everywhere; empty = the latest run. |
370
+ | `workflowType` | string | — | | startWorkflow / signalWithStart. |
371
+ | `taskQueue` | string | — | | startWorkflow / signalWithStart / describeTaskQueue. |
372
+ | `args` | string (JSON array) | `""` | | Workflow / signal / query / update arguments as a JSON ARRAY template string, e.g. `"[{\"orderId\":\"{{CreateOrder.body.id}}\"}]"`. A bare value is wrapped as one argument. |
373
+ | `waitForResult` | boolean | — | | startWorkflow: block until the workflow closes; `result` / `status` / `failure` are filled. |
374
+ | `idReusePolicy` | "ALLOW_DUPLICATE" \| "ALLOW_DUPLICATE_FAILED_ONLY" \| "REJECT_DUPLICATE" \| "TERMINATE_IF_RUNNING" | — | | |
375
+ | `idConflictPolicy` | "FAIL" \| "USE_EXISTING" \| "TERMINATE_EXISTING" | — | | `USE_EXISTING` makes startWorkflow attach to an already-running workflow instead of failing. |
376
+ | `memo` | string (JSON object) | — | | |
377
+ | `searchAttributes` | string (JSON object) | — | | |
378
+ | `workflowExecutionTimeoutMs` | integer | — | | |
379
+ | `workflowRunTimeoutMs` | integer | — | | |
380
+ | `workflowTaskTimeoutMs` | integer | — | | |
381
+ | `startDelayMs` | integer | — | | |
382
+ | `retryPolicy` | {maximumAttempts?, initialIntervalMs?, backoffCoefficient?, maximumIntervalMs?} | — | | |
383
+ | `signalName` | string | — | | signal / signalWithStart. |
384
+ | `signalArgs` | string (JSON array) | — | | signalWithStart: the signal's arguments (`args` are the start arguments). |
385
+ | `queryName` | string | — | | |
386
+ | `updateName` | string | — | | |
387
+ | `waitForStage` | "COMPLETED" \| "ACCEPTED" | "COMPLETED" (engine) | | update: ACCEPTED returns as soon as the update is admitted (`updateId`). |
388
+ | `followRuns` | boolean | true (engine) | | awaitResult: follow continue-as-new / retried runs to the final result. |
389
+ | `eventTypes` | string[] | — | | history: keep only these event types in `events[]` (names like "ActivityTaskCompleted"); counts cover the whole history. |
390
+ | `historyLimit` | integer 1..2000 | 500 (engine) | | history: max events kept (the LAST N); `truncatedHistory` says when it cut. |
391
+ | `reason` | string | — | | cancel / terminate. |
392
+ | `query` | string | — | | list / count: a Temporal visibility list filter, e.g. `WorkflowType = 'OrderWorkflow' AND ExecutionStatus = 'Running'` (`GROUP BY ExecutionStatus` allowed on count). |
393
+ | `pageSize` | integer 1..500 | 50 (engine) | | |
394
+ | `taskQueueType` | "workflow" \| "activity" | "workflow" (engine) | | |
395
+ | `timeoutMs` | integer 1000..600000 | 60000 (engine) | | Still capped by the host's per-node budget. A long awaitResult needs a raised node timeout or a poll node (actionType `temporal`). |
396
+ | `onTimeout` | "fail" \| "continue" | "fail" (engine) | | awaitResult / startWorkflow+waitForResult: `continue` marks the step partial_success with `timedOut: true` instead of failing. |
397
+ | `expect` | ConditionRule[] | `[]` | | Checks against the node's OWN output (operand paths `<Label>.status`, `<Label>.result.x`, `<Label>.eventCounts.ActivityTaskFailed`; `temporal.<path>` also works). A failed check fails the node. |
398
+ | `expectMatchMode` | "all" \| "any" | `"all"` | | |
399
+ | `executionPolicy` | ExecutionPolicy | stop, no retry | | See Execution policy. |
400
+
401
+ Output: Always the same keys (null / [] when not applicable): `<Label>.workflowId`, `.runId`, `.status` (RUNNING | COMPLETED | FAILED | CANCELED | TERMINATED | TIMED_OUT | CONTINUED_AS_NEW), `.result` (awaitResult / query / update / start+wait), `.failure` `{message, type, cause[]}`, `.workflowType`, `.taskQueue`, `.startTime`, `.closeTime`, `.historyLength`, `.memo`, `.searchAttributes`, `.activities[]` `{activityType, status, attempt, durationMs, failure}`, `.pendingChildren[]`, `.events[]` `{eventId, eventType, eventTime, attributes}`, `.eventCounts` `{ActivityTaskCompleted: 3, …}`, `.signals[]`, `.timers[]`, `.truncatedHistory`, `.executions[]` `{workflowId, runId, type, status}`, `.count`, `.groups[]`, `.pollers[]`, `.hasPollers`, `.updateId`, `.requested`, `.timedOut`, `.durationMs`.
402
+
403
+ A workflow that FAILED / was CANCELED is a result, not a node failure: `status` and `failure` are filled and the run goes on. Fail the node with an `expect` rule (`<Label>.status equals COMPLETED`) or `executionPolicy.expectFailure` for infrastructure errors.
404
+
405
+ Infrastructure errors fail the node: unreachable server (UNAVAILABLE), rejected credentials (UNAUTHENTICATED), unknown workflow (`Workflow not found: <id>`), rejected update, `WorkflowExecutionAlreadyStartedError` (unless `idConflictPolicy: USE_EXISTING`).
406
+
407
+ Typical chain: request → temporal describe `{{Req.body.workflowId}}` → signal → awaitResult (expect status COMPLETED) → history (expect eventCounts.ActivityTaskFailed equals 0).
408
+
409
+ Payloads use Temporal's default data converter (JSON). A payload it cannot decode is kept as `{encoding, data}` (base64).
410
+
411
+ ```json
412
+ {"id":"await-order","type":"temporal","label":"AwaitOrder","config":{"connectionId":"<temporal connection id>","operation":"awaitResult","workflowId":"order-{{CreateOrder.body.id}}","timeoutMs":60000,"expect":[{"id":"r1","type":"rule","left":{"mode":"runtime","valueType":"string","value":"AwaitOrder.status"},"operator":"equals","right":{"mode":"literal","valueType":"string","value":"COMPLETED"}}]}}
413
+ ```
414
+
360
415
  ### wait
361
416
  Fixed delay.
362
417
 
@@ -1,5 +1,5 @@
1
1
  import type { ScenarioPromptInput } from "../types.js";
2
- export declare const SCENARIO_AI_REFERENCE_TYPES: readonly ["request", "db", "redis", "kafka", "condition", "assertion", "script", "set-vars", "poll", "foreach", "websocket", "ai", "wait", "notification", "aggregator", "end"];
2
+ export declare const SCENARIO_AI_REFERENCE_TYPES: readonly ["request", "db", "redis", "kafka", "condition", "assertion", "script", "set-vars", "poll", "foreach", "websocket", "ai", "temporal", "wait", "notification", "aggregator", "end"];
3
3
  export interface BuildScenarioSystemPromptOptions {
4
4
  /**
5
5
  * Canonical default config per node type shown in the reference. Hosts with
@@ -1 +1 @@
1
- {"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,2BAA2B,iLAiB9B,CAAC;AAwCX,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAqBD,eAAO,MAAM,yBAAyB,GACpC,UAAS,gCAAqC,KAC7C,MAyFW,CAAC;AAEf,eAAO,MAAM,uBAAuB,GAAI,OAAO,mBAAmB,KAAG,MA+CpE,CAAC"}
1
+ {"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,2BAA2B,6LAkB9B,CAAC;AA0CX,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAqBD,eAAO,MAAM,yBAAyB,GACpC,UAAS,gCAAqC,KAC7C,MAyFW,CAAC;AAEf,eAAO,MAAM,uBAAuB,GAAI,OAAO,mBAAmB,KAAG,MA+CpE,CAAC"}
@@ -31,6 +31,7 @@ export const SCENARIO_AI_REFERENCE_TYPES = [
31
31
  "foreach",
32
32
  "websocket",
33
33
  "ai",
34
+ "temporal",
34
35
  "wait",
35
36
  "notification",
36
37
  "aggregator",
@@ -52,10 +53,11 @@ const NODE_NOTES = {
52
53
  assertion: "Pass/fail checkpoint (does NOT branch; on failure executionPolicy decides stop/continue). config.matchMode:\"all\" (every enabled check passes) | \"any\" (≥1 passes). checks:[{ id, name, enabled:true, rule }] with ≥1 enabled check — each rule is { id, type:\"rule\", left, operator, right } (operands per the OPERANDS section).",
53
54
  script: "JS sandbox (Postman pm.*). REQUIRED: non-empty, syntactically-valid `script`; its `return` value is exposed downstream by the node label. Optional timeoutMs (default 3000). Can pm.environment.set(...), pm.expect(...), pm.test(...), and await pm.db.query / pm.redis.command (same formats as the DB & REDIS section) for logic a plain db/redis node can't express.",
54
55
  "set-vars": "No-code variable capture — prefer this over a script node for plain \"save X into a variable\" steps. config.assignments:[{ id, scope:\"environment\"|\"global\", key, value, enabled:true }] applied top-to-bottom (a later row can use an earlier row's variable). DEFAULT (template) row: `value` is template-resolved, e.g. \"{{CreateOrder.body.id}}\". EXTRACTOR row: add extractorType:\"jsonpath\"|\"regex\" + source + expression (`value` is then ignored). `source` is a BARE runtime dot-path WITHOUT braces (same semantics as condition operands), e.g. \"CreateOrder.body\". `expression` is a JSONPath like \"$.items[0].id\" or a JS regex source like \"ord-(\\\\d+)\". Regex rows may add `flags` (subset of \"gimsuy\") and `group` (capture group index, default: first group, else whole match). Optional select:\"first\" (default, writes one value) | \"all\" (writes a JSON array of every match). A failed extraction SKIPS that write and is reported in the node output — it does not fail the node.",
55
- poll: "Wait-until: repeats ONE embedded action until a condition passes or the budget runs out — prefer this over wait+loop chains for \"poll until ready\" steps. REQUIRED: actionType:\"request\"|\"db\"|\"redis\"|\"script\" + the MATCHING embedded config object (`request` | `db` | `redis` | `script`, same shape as the standalone node of that type) + successCondition (a full condition config: { mode:\"builder\", rootGroup } — same shape as the condition node, evaluated after EVERY tick against the tick's result, e.g. left { mode:\"runtime\", valueType:\"number\", value:\"response.status\" } for a request action) + intervalMs (delay between ticks, ≤ 3600000). OPTIONAL: maxAttempts (default 30, max 1000), timeoutMs (wall-clock cap, ≤ 86400000), backoffMultiplier (1..10, exponential backoff on the interval), maxDelayMs (backoff cap), onTimeout:\"fail\" (default — normal failure path, error edges apply) | \"continue\" (mark degraded and continue). Action errors are polled through (a failing tick is retried, not fatal); per-node retry is force-disabled — the loop IS the retry. Output: { attempts, maxAttempts, elapsedMs, timedOut, conditionResult, lastTickError? }; the last tick's action result is ALSO published like the standalone node would (response.*, rows, redis.result).",
56
+ poll: "Wait-until: repeats ONE embedded action until a condition passes or the budget runs out — prefer this over wait+loop chains for \"poll until ready\" steps. REQUIRED: actionType:\"request\"|\"db\"|\"redis\"|\"script\"|\"temporal\" + the MATCHING embedded config object (`request` | `db` | `redis` | `script` | `temporal`, same shape as the standalone node of that type; a temporal tick publishes its output under this node's label, so the success condition reads <Label>.status / <Label>.result.x) + successCondition (a full condition config: { mode:\"builder\", rootGroup } — same shape as the condition node, evaluated after EVERY tick against the tick's result, e.g. left { mode:\"runtime\", valueType:\"number\", value:\"response.status\" } for a request action) + intervalMs (delay between ticks, ≤ 3600000). OPTIONAL: maxAttempts (default 30, max 1000), timeoutMs (wall-clock cap, ≤ 86400000), backoffMultiplier (1..10, exponential backoff on the interval), maxDelayMs (backoff cap), onTimeout:\"fail\" (default — normal failure path, error edges apply) | \"continue\" (mark degraded and continue). Action errors are polled through (a failing tick is retried, not fatal); per-node retry is force-disabled — the loop IS the retry. Output: { attempts, maxAttempts, elapsedMs, timedOut, conditionResult, lastTickError? }; the last tick's action result is ALSO published like the standalone node would (response.*, rows, redis.result).",
56
57
  foreach: "Per-item loop container: runs an EMBEDDED body graph once per item of an array — the go-to node for \"do X for every user/order/row\". config = { nodes:[...], edges:[...], sourceMode:\"path\"|\"inline\", itemsPath?, itemsInline?, itemAlias?, maxIterations? (default 100, max 1000), delayMs? (pause between items, ms), onItemFailure:\"stop\" (default; first failed item fails this node) | \"continue\" (failed items degrade to partial success, loop keeps going), collectResults?:true }. ITEMS SOURCE: sourceMode:\"path\" + itemsPath = a BARE runtime dot-path WITHOUT braces resolving to an array (e.g. \"Users.body.items\" — or, inside an outer foreach, a path off the outer item/alias like \"customer.accounts\"); sourceMode:\"inline\" + itemsInline = a JSON array STRING ({{tokens}} inside resolve first). BODY: config.nodes/config.edges form a normal mini-graph (same node shapes, ids unique, EVERY label unique across the WHOLE scenario incl. all bodies; conditions still need exactly one yes + one no edge; do NOT add end nodes inside the body). PER-ITERATION TEMPLATE ROOTS available to body nodes: {{item}} = current item ({{item.id}}, {{item.name}}...), the alias root when itemAlias is set (e.g. itemAlias:\"user\" → {{user.id}} — set one whenever foreaches nest, the inner {{item}} shadows the outer), {{each.index}} (0-based), {{each.iteration}} (1-based), {{each.total}}, {{each.remaining}}, and {{eaches.<ThisForeachLabel>.iteration}} etc. for reaching an OUTER foreach's counters from inside an inner one. The same roots work as bare condition/assertion operand paths (item.tier, each.total). NESTING: a foreach node may appear inside another foreach's body (source the inner items from the outer item, e.g. itemsPath:\"customer.accounts\" with itemAlias:\"account\"). OUTPUT: { results:[ per-item snapshots — results[i].<ChildLabel>.body..., a failed item's child carries only results[i].<ChildLabel>.__meta.failed:true ], itemCount, processedCount, truncated, failedItems } — downstream nodes read e.g. <Label>.processedCount or <Label>.results[0].<ChildLabel>.body.id. Per-node retry is force-disabled (the item loop IS the repeat); with onItemFailure:\"continue\" a run with failed items ends completed-with-failures by design.",
57
58
  websocket: "Live socket conversation as ONE scenario step: connect, run the steps in order, close. config = { url (ws:// or wss://, template-resolved), headers:[{key,value,enabled:true}], subprotocols:[string], connectTimeoutMs?, steps:[...], closeCode?, rejectUnauthorized?:false to accept self-signed TLS }. STEPS (ordered): { id, kind:\"send\", payload } sends one text frame (payload template-resolved; JSON payloads welcome); { id, kind:\"expect\", timeoutMs? (default 10000, max 300000), matchMode?:\"all\"|\"any\", rules:[ConditionRule,...] } waits for a frame matching the rules — each rule is the SAME { id, type:\"rule\", left, operator, right } shape as condition/assertion rules, with runtime paths over the CURRENT FRAME roots: ws.text (raw text), ws.json.<field> (parsed JSON), ws.direction, ws.index. Example rule: left { mode:\"runtime\", valueType:\"string\", value:\"ws.json.event\" }, operator:\"equals\", right { mode:\"literal\", valueType:\"string\", value:\"subscribed\" }; { id, kind:\"wait\", durationMs } pauses. A failed expect (timeout) fails the node — error edges / executionPolicy apply; retry re-runs the WHOLE conversation. Output: { connected, messages:[{text, direction, ...}], steps, closeCode, messageCount, failedSteps } — downstream reads <Label>.messages[0].text or bare paths like <Label>.messageCount in conditions.",
58
59
  ai: "One LLM chat call as a step — create ONLY if a type=ai connection is available (managed AI connections). REQUIRED: connectionId (type=ai) + prompt (template-resolved, may embed {{Label.body.field}} references) + responseExample (a JSON OBJECT string describing the reply shape, e.g. \"{\\\"sentiment\\\":\\\"positive\\\",\\\"score\\\":0.9}\" — top-level keys become REQUIRED in the reply, extra keys allowed). Optional maxTokens (1..32000), timeoutMs (1000..300000). The parsed JSON reply IS the node output: downstream nodes read <Label>.<exampleKey> (e.g. <Label>.sentiment) in templates and condition operands.",
60
+ temporal: "One Temporal.io client operation — create ONLY if a type=temporal connection is available. REQUIRED: connectionId (type=temporal) + operation. OPERATIONS and their required fields: startWorkflow (workflowType + taskQueue; optional workflowId — empty = generated, args = JSON ARRAY string of workflow arguments e.g. \"[{\\\"orderId\\\":\\\"{{CreateOrder.body.id}}\\\"}]\", waitForResult:true to block for the result, idReusePolicy, idConflictPolicy, memo/searchAttributes = JSON OBJECT strings, workflowExecutionTimeoutMs, retryPolicy); signal (workflowId + signalName, args); signalWithStart (workflowId + workflowType + taskQueue + signalName, args, signalArgs); query (workflowId + queryName, args); update (workflowId + updateName, args, waitForStage \"COMPLETED\"|\"ACCEPTED\"); awaitResult (workflowId; followRuns default true; onTimeout \"fail\"|\"continue\"); describe (workflowId); history (workflowId; eventTypes filter list, historyLimit); cancel / terminate (workflowId, reason); list / count (query = Temporal visibility filter like \"WorkflowType = 'OrderWorkflow' AND ExecutionStatus = 'Running'\", pageSize); describeTaskQueue (taskQueue, taskQueueType). Every string field is template-resolved; runId is optional everywhere. timeoutMs (1000..600000) bounds the call — a long awaitResult needs a raised node timeout or a poll node with actionType:\"temporal\". OUTPUT (every key always present, null/[] when not applicable): workflowId, runId, status (RUNNING|COMPLETED|FAILED|CANCELED|TERMINATED|TIMED_OUT|CONTINUED_AS_NEW), result (awaitResult/query/update/start+wait payload), failure{message,type,cause[]}, workflowType, taskQueue, startTime, closeTime, historyLength, memo, searchAttributes, activities[{activityType,status,attempt,durationMs,failure}], events[{eventId,eventType,eventTime}], eventCounts{ActivityTaskCompleted:3,...}, signals[], timers[], executions[], count, groups[], pollers[], hasPollers, updateId, requested, timedOut. A FAILED workflow is NOT a node failure — assert on it: config.expect is a list of condition rules evaluated against the node's own output (operands use <Label>.status, <Label>.result.x, <Label>.eventCounts.ActivityTaskFailed …; expectMatchMode \"all\"|\"any\"); a failed expect fails the node (executionPolicy / error edges apply). Downstream nodes read <Label>.status, <Label>.result.<field>, <Label>.activities[0].status.",
59
61
  wait: "Delay. durationMs milliseconds (1 .. 2147483647). Output: { configuredDurationMs, actualDurationMs, status }.",
60
62
  notification: "Slack only — create ONLY if a type=notification (provider=slack) connection is available. REQUIRED: connectionId + messageTemplate. provider:\"slack\", severity:\"info\"|\"success\"|\"warning\"|\"error\", optional channelOverride, advanced.useRichBlocks.",
61
63
  aggregator: "Merges upstream outputs into one JSON object. config.template MUST be valid JSON once tokens are filled, e.g. {\"userId\":\"{Login.data.id}\",\"total\":\"{CreateOrder.total}\"}. Output = the resolved object.",
@@ -1 +1 @@
1
- {"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,yCAAyC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,iFAAiF;AACjF,gFAAgF;AAChF,mCAAmC;AACnC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,SAAS;IACT,IAAI;IACJ,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;IACX,QAAQ;IACR,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,IAAI;IACJ,MAAM;IACN,cAAc;IACd,YAAY;IACZ,KAAK;CACG,CAAC;AAEX,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM,UAAU,GAA2B;IACzC,OAAO,EACL,syEAAsyE;IAExyE,EAAE,EAAE,oaAAoa;IACxa,KAAK;IACH,qEAAqE;IACrE,sDAAsD;IACtD,8KAA8K,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4OAA4O;IACvc,KAAK,EACH,6rCAA6rC;IAC/rC,SAAS,EACP,ilBAAilB;IACnlB,SAAS,EACP,yUAAyU;IAC3U,MAAM,EACJ,0WAA0W;IAC5W,UAAU,EACR,m+BAAm+B;IACr+B,IAAI,EACF,owCAAowC;IACtwC,OAAO,EACL,ssEAAssE;IACxsE,SAAS,EACP,m0CAAm0C;IACr0C,EAAE,EAAE,umBAAumB;IAC3mB,IAAI,EAAE,+GAA+G;IACrH,YAAY,EACV,gQAAgQ;IAClQ,UAAU,EACR,iNAAiN;IACnN,GAAG,EAAE,0KAA0K;CAChL,CAAC;AAUF,MAAM,kBAAkB,GAAG,CAAC,gBAA2C,EAAU,EAAE,CACjF,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACvC,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO;QACL,cAAc,IAAI,GAAG;QACrB,IAAI;QACJ,+DAA+D;QAC/D,SAAS;QACT,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAElB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,UAA4C,EAAE,EACtC,EAAE,CACV;IACE,gRAAgR;IAChR,EAAE;IACF,6EAA6E;IAC7E,KAAK;IACL,IAAI,CAAC,SAAS,CACZ;QACE,KAAK,EAAE,gHAAgH;QACvH,QAAQ,EAAE;YACR,IAAI,EAAE,kCAAkC;YACxC,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;oBACxB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;iBACrC;aACF;YACD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAClE,YAAY,EAAE;gBACZ;oBACE,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iBAC3F;aACF;SACF;KACF,EACD,IAAI,EACJ,CAAC,CACF;IACD,KAAK;IACL,oFAAoF;IACpF,EAAE;IACF,gCAAgC;IAChC,0IAA0I;IAC1I,oGAAoG,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sHAAsH;IAC1R,6FAA6F;IAC7F,gZAAgZ;IAChZ,gXAAgX;IAChX,EAAE;IACF,kIAAkI;IAClI,qDAAqD;IACrD,6EAA6E;IAC7E,yGAAyG;IACzG,EAAE;IACF,yDAAyD;IACzD,gFAAgF;IAChF,8EAA8E;IAC9E,0DAA0D;IAC1D,6GAA6G;IAC7G,EAAE;IACF,wCAAwC;IACxC,yDAAyD;IACzD,kIAAkI;IAClI,kEAAkE;IAClE,mHAAmH;IACnH,EAAE;IACF,wEAAwE;IACxE,iTAAiT;IACjT,4UAA4U;IAC5U,4MAA4M;IAC5M,EAAE;IACF,6KAA6K;IAC7K,kWAAkW;IAClW,yNAAyN;IACzN,kNAAkN;IAClN,oOAAoO;IACpO,6UAA6U;IAC7U,k0BAAk0B;IACl0B,EAAE;IACF,+UAA+U;IAC/U,EAAE;IACF,qOAAqO;IACrO,EAAE;IACF,qSAAqS;IACrS,EAAE;IACF,oDAAoD;IACpD,EAAE;IACF,6BAA6B;IAC7B,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;IACzE,EAAE;IACF,uEAAuE;IACvE,8fAA8f;IAC9f,8UAA8U;IAC9U,EAAE;IACF,sBAAsB,EAAE;CACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEf,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAA0B,EAAU,EAAE;IAC5E,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAChH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;IAChH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC1F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,IAAI,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gIAAgI,CAAC,CAAC;QAC7I,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,SAAS,CACZ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,EAChH,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioNodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeDefaults.ts"],"names":[],"mappings":"AAsDA,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAkHjE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,KAAG,OACZ,CAAC"}
1
+ {"version":3,"file":"scenarioNodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeDefaults.ts"],"names":[],"mappings":"AAsDA,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA2HjE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,KAAG,OACZ,CAAC"}
@@ -136,6 +136,15 @@ export const SCENARIO_NODE_DEFAULT_CONFIGS = {
136
136
  responseExample: "",
137
137
  executionPolicy: STRICT_POLICY,
138
138
  },
139
+ temporal: {
140
+ connectionId: "",
141
+ operation: "describe",
142
+ workflowId: "",
143
+ args: "",
144
+ expect: [],
145
+ expectMatchMode: "all",
146
+ executionPolicy: STRICT_POLICY,
147
+ },
139
148
  wait: { durationMs: 5000, executionPolicy: STRICT_POLICY },
140
149
  notification: {
141
150
  provider: "slack",
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioNodeDefaults.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeDefaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarioNodeDefaults.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeDefaults.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioNodeReference.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeReference.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAMvE,MAAM,WAAW,kCAAkC;IACjD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAw2BD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAS,kCAAuC,KAC/C,MAyGF,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,SAAS,gBAAgB,EAAoB,CAAC"}
1
+ {"version":3,"file":"scenarioNodeReference.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeReference.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAYvE,MAAM,WAAW,kCAAkC;IACjD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AA07BD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAS,kCAAuC,KAC/C,MAyGF,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,SAAS,gBAAgB,EAAoB,CAAC"}
@@ -12,10 +12,11 @@
12
12
  // the same runtime values the engine and the in-app prompt use, so they cannot
13
13
  // drift; the prose is kept in step by tests/scenario-node-reference.test.mjs.
14
14
  import { CONDITION_OPERATOR_META } from "../../scenario-runner/condition.js";
15
- import { DEFAULT_AI_MAX_TOKENS, DEFAULT_AI_TIMEOUT_MS, DEFAULT_FOREACH_MAX_ITERATIONS, DEFAULT_WS_CLOSE_CODE, DEFAULT_WS_CONNECT_TIMEOUT_MS, DEFAULT_WS_EXPECT_TIMEOUT_MS, MAX_AI_MAX_TOKENS, MAX_AI_PROMPT_LENGTH, MAX_AI_RESPONSE_EXAMPLE_LENGTH, MAX_AI_TIMEOUT_MS, MAX_END_LOOP_ITERATIONS, MAX_FOREACH_ITERATIONS, MAX_POLL_ATTEMPTS, MAX_WS_CONNECT_TIMEOUT_MS, MAX_WS_EXPECT_TIMEOUT_MS, MAX_WS_STEPS, MAX_WS_WAIT_DURATION_MS, } from "../../scenario-runner/graphTraversal.js";
15
+ import { DEFAULT_AI_MAX_TOKENS, DEFAULT_AI_TIMEOUT_MS, DEFAULT_FOREACH_MAX_ITERATIONS, DEFAULT_TEMPORAL_HISTORY_LIMIT, DEFAULT_TEMPORAL_LIST_PAGE_SIZE, DEFAULT_TEMPORAL_TIMEOUT_MS, MAX_TEMPORAL_HISTORY_EVENTS, MAX_TEMPORAL_LIST_PAGE_SIZE, MAX_TEMPORAL_TIMEOUT_MS, DEFAULT_WS_CLOSE_CODE, DEFAULT_WS_CONNECT_TIMEOUT_MS, DEFAULT_WS_EXPECT_TIMEOUT_MS, MAX_AI_MAX_TOKENS, MAX_AI_PROMPT_LENGTH, MAX_AI_RESPONSE_EXAMPLE_LENGTH, MAX_AI_TIMEOUT_MS, MAX_END_LOOP_ITERATIONS, MAX_FOREACH_ITERATIONS, MAX_POLL_ATTEMPTS, MAX_WS_CONNECT_TIMEOUT_MS, MAX_WS_EXPECT_TIMEOUT_MS, MAX_WS_STEPS, MAX_WS_WAIT_DURATION_MS, } from "../../scenario-runner/graphTraversal.js";
16
16
  import { RESERVED_SCENARIO_LABELS } from "../../scenario-runner/labels.js";
17
17
  import { KAFKA_DEFAULT_CAPTURE_TIMEOUT_MS, KAFKA_MAX_CAPTURE_TIMEOUT_MS, KAFKA_MIN_CAPTURE_TIMEOUT_MS, } from "../../scenario-runner/adapters/kafka-executor.js";
18
18
  import { EXPECT_FAILURE_PATTERN_MAX_LENGTH, SCENARIO_EXPECT_FAILURE_NODE_TYPES, } from "../../scenario-runner/nodePolicy.js";
19
+ import { TEMPORAL_OPERATIONS, TEMPORAL_OPERATION_SPECS, TEMPORAL_WORKFLOW_ID_CONFLICT_POLICIES, TEMPORAL_WORKFLOW_ID_REUSE_POLICIES, } from "../../scenario-runner/temporal.js";
19
20
  import { REDIS_COMMAND_SPECS } from "../../host/redis/redisService.js";
20
21
  import { RESERVED_LABEL_NAMES } from "../../script/scope.js";
21
22
  import { CONTRACT_RULES_SPEC } from "./fragments.js";
@@ -36,6 +37,7 @@ const NODE_TYPE_ORDER = [
36
37
  "foreach",
37
38
  "websocket",
38
39
  "ai",
40
+ "temporal",
39
41
  "wait",
40
42
  "notification",
41
43
  "aggregator",
@@ -645,6 +647,82 @@ const NODE_DOCS = [
645
647
  },
646
648
  },
647
649
  },
650
+ {
651
+ type: "temporal",
652
+ summary: "One Temporal.io client operation (start / signal / query / update / await / describe / history / cancel / terminate / list / count / describeTaskQueue) on a workspace connection of type `temporal`.",
653
+ fields: [
654
+ { field: "connectionId", type: "string", req: "run", notes: "A connection of type `temporal`." },
655
+ {
656
+ field: "operation",
657
+ type: TEMPORAL_OPERATIONS.map((operation) => `"${operation}"`).join(" | "),
658
+ req: "yes",
659
+ notes: `Required fields per operation: ${TEMPORAL_OPERATIONS.map((operation) => `${operation} → ${TEMPORAL_OPERATION_SPECS[operation].required.join(" + ") || "—"}`).join("; ")}.`,
660
+ },
661
+ { field: "namespace", type: "string", notes: "Overrides the connection's namespace. Template-resolved." },
662
+ { field: "workflowId", type: "string", notes: "Template-resolved. On startWorkflow an empty id is generated (`callman-<label>-<uuid>`)." },
663
+ { field: "runId", type: "string", notes: "Optional everywhere; empty = the latest run." },
664
+ { field: "workflowType", type: "string", notes: "startWorkflow / signalWithStart." },
665
+ { field: "taskQueue", type: "string", notes: "startWorkflow / signalWithStart / describeTaskQueue." },
666
+ {
667
+ field: "args",
668
+ type: "string (JSON array)",
669
+ notes: 'Workflow / signal / query / update arguments as a JSON ARRAY template string, e.g. `"[{\\"orderId\\":\\"{{CreateOrder.body.id}}\\"}]"`. A bare value is wrapped as one argument.',
670
+ },
671
+ { field: "waitForResult", type: "boolean", notes: "startWorkflow: block until the workflow closes; `result` / `status` / `failure` are filled." },
672
+ { field: "idReusePolicy", type: TEMPORAL_WORKFLOW_ID_REUSE_POLICIES.map((entry) => `"${entry}"`).join(" | ") },
673
+ { field: "idConflictPolicy", type: TEMPORAL_WORKFLOW_ID_CONFLICT_POLICIES.map((entry) => `"${entry}"`).join(" | "), notes: "`USE_EXISTING` makes startWorkflow attach to an already-running workflow instead of failing." },
674
+ { field: "memo", type: "string (JSON object)" },
675
+ { field: "searchAttributes", type: "string (JSON object)" },
676
+ { field: "workflowExecutionTimeoutMs", type: "integer" },
677
+ { field: "workflowRunTimeoutMs", type: "integer" },
678
+ { field: "workflowTaskTimeoutMs", type: "integer" },
679
+ { field: "startDelayMs", type: "integer" },
680
+ { field: "retryPolicy", type: "{maximumAttempts?, initialIntervalMs?, backoffCoefficient?, maximumIntervalMs?}" },
681
+ { field: "signalName", type: "string", notes: "signal / signalWithStart." },
682
+ { field: "signalArgs", type: "string (JSON array)", notes: "signalWithStart: the signal's arguments (`args` are the start arguments)." },
683
+ { field: "queryName", type: "string" },
684
+ { field: "updateName", type: "string" },
685
+ { field: "waitForStage", type: '"COMPLETED" | "ACCEPTED"', shownDefault: '"COMPLETED" (engine)', notes: "update: ACCEPTED returns as soon as the update is admitted (`updateId`)." },
686
+ { field: "followRuns", type: "boolean", shownDefault: "true (engine)", notes: "awaitResult: follow continue-as-new / retried runs to the final result." },
687
+ { field: "eventTypes", type: "string[]", notes: 'history: keep only these event types in `events[]` (names like "ActivityTaskCompleted"); counts cover the whole history.' },
688
+ { field: "historyLimit", type: `integer 1..${MAX_TEMPORAL_HISTORY_EVENTS}`, shownDefault: `${DEFAULT_TEMPORAL_HISTORY_LIMIT} (engine)`, notes: "history: max events kept (the LAST N); `truncatedHistory` says when it cut." },
689
+ { field: "reason", type: "string", notes: "cancel / terminate." },
690
+ { field: "query", type: "string", notes: "list / count: a Temporal visibility list filter, e.g. `WorkflowType = 'OrderWorkflow' AND ExecutionStatus = 'Running'` (`GROUP BY ExecutionStatus` allowed on count)." },
691
+ { field: "pageSize", type: `integer 1..${MAX_TEMPORAL_LIST_PAGE_SIZE}`, shownDefault: `${DEFAULT_TEMPORAL_LIST_PAGE_SIZE} (engine)` },
692
+ { field: "taskQueueType", type: '"workflow" | "activity"', shownDefault: '"workflow" (engine)' },
693
+ { field: "timeoutMs", type: `integer 1000..${MAX_TEMPORAL_TIMEOUT_MS}`, shownDefault: `${DEFAULT_TEMPORAL_TIMEOUT_MS} (engine)`, notes: "Still capped by the host's per-node budget. A long awaitResult needs a raised node timeout or a poll node (actionType `temporal`)." },
694
+ { field: "onTimeout", type: '"fail" | "continue"', shownDefault: '"fail" (engine)', notes: "awaitResult / startWorkflow+waitForResult: `continue` marks the step partial_success with `timedOut: true` instead of failing." },
695
+ { field: "expect", type: "ConditionRule[]", notes: "Checks against the node's OWN output (operand paths `<Label>.status`, `<Label>.result.x`, `<Label>.eventCounts.ActivityTaskFailed`; `temporal.<path>` also works). A failed check fails the node." },
696
+ { field: "expectMatchMode", type: '"all" | "any"' },
697
+ ],
698
+ output: "Always the same keys (null / [] when not applicable): `<Label>.workflowId`, `.runId`, `.status` (RUNNING | COMPLETED | FAILED | CANCELED | TERMINATED | TIMED_OUT | CONTINUED_AS_NEW), `.result` (awaitResult / query / update / start+wait), `.failure` `{message, type, cause[]}`, `.workflowType`, `.taskQueue`, `.startTime`, `.closeTime`, `.historyLength`, `.memo`, `.searchAttributes`, `.activities[]` `{activityType, status, attempt, durationMs, failure}`, `.pendingChildren[]`, `.events[]` `{eventId, eventType, eventTime, attributes}`, `.eventCounts` `{ActivityTaskCompleted: 3, …}`, `.signals[]`, `.timers[]`, `.truncatedHistory`, `.executions[]` `{workflowId, runId, type, status}`, `.count`, `.groups[]`, `.pollers[]`, `.hasPollers`, `.updateId`, `.requested`, `.timedOut`, `.durationMs`.",
699
+ notes: [
700
+ "A workflow that FAILED / was CANCELED is a result, not a node failure: `status` and `failure` are filled and the run goes on. Fail the node with an `expect` rule (`<Label>.status equals COMPLETED`) or `executionPolicy.expectFailure` for infrastructure errors.",
701
+ "Infrastructure errors fail the node: unreachable server (UNAVAILABLE), rejected credentials (UNAUTHENTICATED), unknown workflow (`Workflow not found: <id>`), rejected update, `WorkflowExecutionAlreadyStartedError` (unless `idConflictPolicy: USE_EXISTING`).",
702
+ "Typical chain: request → temporal describe `{{Req.body.workflowId}}` → signal → awaitResult (expect status COMPLETED) → history (expect eventCounts.ActivityTaskFailed equals 0).",
703
+ "Payloads use Temporal's default data converter (JSON). A payload it cannot decode is kept as `{encoding, data}` (base64).",
704
+ ],
705
+ example: {
706
+ id: "await-order",
707
+ type: "temporal",
708
+ label: "AwaitOrder",
709
+ config: {
710
+ connectionId: "<temporal connection id>",
711
+ operation: "awaitResult",
712
+ workflowId: "order-{{CreateOrder.body.id}}",
713
+ timeoutMs: 60000,
714
+ expect: [
715
+ {
716
+ id: "r1",
717
+ type: "rule",
718
+ left: { mode: "runtime", valueType: "string", value: "AwaitOrder.status" },
719
+ operator: "equals",
720
+ right: { mode: "literal", valueType: "string", value: "COMPLETED" },
721
+ },
722
+ ],
723
+ },
724
+ },
725
+ },
648
726
  {
649
727
  type: "wait",
650
728
  summary: "Fixed delay.",
@@ -857,7 +935,7 @@ export const renderScenarioNodeReference = (options = {}) => {
857
935
  "",
858
936
  "## Connections",
859
937
  "",
860
- "db, redis, kafka, notification and ai nodes run on a workspace connection: `config.connectionId` is the id of a connection of type `database`, `redis`, `kafka`, `notification` (Slack) or `ai` (managed). Use a real connection id from the workspace — never invent one. Only the ai node rejects an empty id on save; the others save with `\"\"` and fail when run.",
938
+ "db, redis, kafka, notification, ai and temporal nodes run on a workspace connection: `config.connectionId` is the id of a connection of type `database`, `redis`, `kafka`, `notification` (Slack), `ai` (managed) or `temporal` (a Temporal.io cluster / Temporal Cloud namespace). Use a real connection id from the workspace — never invent one. Only the ai node rejects an empty id on save; the others save with `\"\"` and fail when run.",
861
939
  "",
862
940
  "## Labels",
863
941
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioNodeReference.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarioNodeReference.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenarioNodeReference.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,31 @@
1
1
  import type { DbConnection } from "./types.js";
2
2
  export declare const __setOracleDriverForTests: (driver: any | null) => void;
3
+ /** Thin mode met a server older than 12.1 — the Instant Client is needed. */
4
+ export declare const ORACLE_CLIENT_REQUIRED = "ORACLE_CLIENT_REQUIRED";
5
+ /** Thick mode was asked for but the Instant Client libraries can't be loaded. */
6
+ export declare const ORACLE_CLIENT_NOT_FOUND = "ORACLE_CLIENT_NOT_FOUND";
7
+ export type OracleClientErrorCode = typeof ORACLE_CLIENT_REQUIRED | typeof ORACLE_CLIENT_NOT_FOUND;
8
+ /** An Oracle failure the host can act on (e.g. offer to install the client). */
9
+ export declare class OracleClientError extends Error {
10
+ readonly code: OracleClientErrorCode;
11
+ constructor(code: OracleClientErrorCode, message: string);
12
+ }
13
+ export declare const getOracleClientErrorCode: (error: unknown) => OracleClientErrorCode | undefined;
14
+ export interface OracleClientInfo {
15
+ mode: "thin" | "thick";
16
+ /** Instant Client version in Thick mode, e.g. "19.23.0.0.0". */
17
+ clientVersion: string | null;
18
+ }
19
+ export declare const getOracleClientInfo: () => Promise<OracleClientInfo>;
20
+ /**
21
+ * Switches this process to Thick mode using the Instant Client in `libDir`
22
+ * (or the system library path when omitted). Idempotent; must run before the
23
+ * first Oracle connection — afterwards node-oracledb refuses (the mode is
24
+ * process-wide). Throws ORACLE_CLIENT_NOT_FOUND when the libraries can't load.
25
+ */
26
+ export declare const configureOracleClient: (options?: {
27
+ libDir?: string;
28
+ }) => Promise<OracleClientInfo>;
3
29
  export declare const withOracleConnection: <T>(connection: DbConnection, fn: (client: any, oracledb: any) => Promise<T>) => Promise<T>;
4
30
  export declare const testOracleConnection: (connection: DbConnection) => Promise<void>;
5
31
  export declare const executeOracleQuery: (connection: DbConnection, query: string) => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"oracleAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/oracleAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAY/C,eAAO,MAAM,yBAAyB,GAAI,QAAQ,GAAG,GAAG,IAAI,KAAG,IAE9D,CAAC;AAqHF,eAAO,MAAM,oBAAoB,GAAU,CAAC,EAC1C,YAAY,YAAY,EACxB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAC7C,OAAO,CAAC,CAAC,CAiBX,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,YAAY,KACvB,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,YAAY,EACxB,OAAO,MAAM,KACZ,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAgC/C,CAAC"}
1
+ {"version":3,"file":"oracleAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/oracleAdapter.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAY/C,eAAO,MAAM,yBAAyB,GAAI,QAAQ,GAAG,GAAG,IAAI,KAAG,IAE9D,CAAC;AAiBF,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,uBAAuB,CAAC;AAEnC,gFAAgF;AAChF,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;gBACzB,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM;CAKzD;AAED,eAAO,MAAM,wBAAwB,GACnC,OAAO,OAAO,KACb,qBAAqB,GAAG,SAK1B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,gEAAgE;IAChE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,gBAAgB,CAOpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAS;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,KAChC,OAAO,CAAC,gBAAgB,CAkB1B,CAAC;AA+GF,eAAO,MAAM,oBAAoB,GAAU,CAAC,EAC1C,YAAY,YAAY,EACxB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAC7C,OAAO,CAAC,CAAC,CAiBX,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,YAAY,KACvB,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,YAAY,EACxB,OAAO,MAAM,KACZ,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAgC/C,CAAC"}
@@ -1,7 +1,11 @@
1
1
  // Oracle adapter. Ported from `pmanfrontend/electron/db/oracleAdapter.ts` with
2
2
  // lazy `oracledb` loading via `loadOptionalModule`. node-oracledb 6 runs in
3
- // Thin mode (pure JS, no Instant Client), so it installs cleanly as an
4
- // optional dependency.
3
+ // Thin mode (pure JS, no Instant Client) by default — Oracle 12.1+ only.
4
+ //
5
+ // Older servers (11.2) need Thick mode: the host installs Oracle Instant
6
+ // Client and calls `configureOracleClient({ libDir })` ONCE per process,
7
+ // before the first Oracle connection. The mode is process-wide and one-way;
8
+ // Instant Client 19c also serves 12c–23ai, so Thick is safe for every server.
5
9
  import { loadOptionalModule } from "../lazy.js";
6
10
  import { OracleConnectStringError, normalizeOracleConnectString, } from "./oracleConnectString.js";
7
11
  import { stripTrailingSqlTerminator } from "./sqlNormalize.js";
@@ -23,14 +27,68 @@ const loadOracleDriver = async () => {
23
27
  throw new Error("Oracle driver (`oracledb`) is not installed. Install `oracledb` to use Oracle connections.");
24
28
  }
25
29
  };
26
- // node-oracledb in Thin mode only supports Oracle 12.1+, so old servers
27
- // (e.g. 11.2) report NJS-138 here. Point the user at the server-side path,
28
- // which runs Thick mode.
30
+ // ── Oracle client (Thick mode) ─────────────────────────────────────────────
31
+ /** Thin mode met a server older than 12.1 — the Instant Client is needed. */
32
+ export const ORACLE_CLIENT_REQUIRED = "ORACLE_CLIENT_REQUIRED";
33
+ /** Thick mode was asked for but the Instant Client libraries can't be loaded. */
34
+ export const ORACLE_CLIENT_NOT_FOUND = "ORACLE_CLIENT_NOT_FOUND";
35
+ /** An Oracle failure the host can act on (e.g. offer to install the client). */
36
+ export class OracleClientError extends Error {
37
+ code;
38
+ constructor(code, message) {
39
+ super(message);
40
+ this.name = "OracleClientError";
41
+ this.code = code;
42
+ }
43
+ }
44
+ export const getOracleClientErrorCode = (error) => {
45
+ const code = error?.code;
46
+ return code === ORACLE_CLIENT_REQUIRED || code === ORACLE_CLIENT_NOT_FOUND
47
+ ? code
48
+ : undefined;
49
+ };
50
+ export const getOracleClientInfo = async () => {
51
+ const oracledb = await loadOracleDriver();
52
+ const thin = oracledb.thin !== false;
53
+ return {
54
+ mode: thin ? "thin" : "thick",
55
+ clientVersion: thin ? null : (oracledb.oracleClientVersionString ?? null),
56
+ };
57
+ };
58
+ /**
59
+ * Switches this process to Thick mode using the Instant Client in `libDir`
60
+ * (or the system library path when omitted). Idempotent; must run before the
61
+ * first Oracle connection — afterwards node-oracledb refuses (the mode is
62
+ * process-wide). Throws ORACLE_CLIENT_NOT_FOUND when the libraries can't load.
63
+ */
64
+ export const configureOracleClient = async (options = {}) => {
65
+ const oracledb = await loadOracleDriver();
66
+ if (oracledb.thin === false) {
67
+ return getOracleClientInfo();
68
+ }
69
+ try {
70
+ oracledb.initOracleClient(options.libDir ? { libDir: options.libDir } : {});
71
+ }
72
+ catch (error) {
73
+ const message = error instanceof Error ? error.message : String(error);
74
+ // NJS-077: already initialised in this process — fine.
75
+ if (!/NJS-077/.test(message)) {
76
+ throw new OracleClientError(ORACLE_CLIENT_NOT_FOUND, `Oracle client could not be loaded${options.libDir ? ` from ${options.libDir}` : ""}: ${message}`);
77
+ }
78
+ }
79
+ return getOracleClientInfo();
80
+ };
81
+ // Thin mode only supports Oracle 12.1+, so old servers (e.g. 11.2) report
82
+ // NJS-138; a Thick-mode host without libraries reports DPI-1047. Both become
83
+ // coded errors so hosts can offer the client install instead of a raw message.
29
84
  const describeOracleError = (error) => {
30
85
  const message = error instanceof Error ? error.message : String(error);
31
86
  if (/NJS-138/i.test(message)) {
32
- return new Error(`${message} — Oracle Thin mode only supports Oracle 12.1+. To use an older ` +
33
- `Oracle server (e.g. 11.2), connect through the server (it runs Thick mode).`);
87
+ return new OracleClientError(ORACLE_CLIENT_REQUIRED, "This Oracle database is older than 12.1 (for example 11g). Running queries against it " +
88
+ `needs the Oracle client installed where the query runs. (${message})`);
89
+ }
90
+ if (/DPI-1047/i.test(message)) {
91
+ return new OracleClientError(ORACLE_CLIENT_NOT_FOUND, `The Oracle client libraries could not be loaded. (${message})`);
34
92
  }
35
93
  return error instanceof Error ? error : new Error(message);
36
94
  };