@plurnk/plurnk-execs-common 1.18.0 → 1.19.1

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 (2) hide show
  1. package/docs/sh.md +13 -26
  2. package/package.json +2 -2
package/docs/sh.md CHANGED
@@ -58,8 +58,8 @@ runs. Output then streams under the receipt's `stream` address, such as
58
58
  `## Delegation` streams list reports each channel's size and growth and READ can
59
59
  inspect any range. On
60
60
  completion, the harness adds one `_plurnk` READ per channel: its first page
61
- (up to 16 lines), `range` extent, and terminal exit status. READ the `stream`
62
- address for more; the `log:///…/READ` item holds only its recorded page:
61
+ (up to 16 lines), `range` extent, and terminal exit status. READ that observation's
62
+ `path` for more; the `log:///…/READ` item holds only its recorded page:
63
63
 
64
64
  ````READ (sh:///ab3d5678#stdout) <17,40>
65
65
  ````
@@ -72,34 +72,21 @@ never output: output lives on the stream and in the harness READs. A receipt
72
72
  with a non-200 status and no `stream` address ran nothing; its body is still
73
73
  your program, and its Problem says why it was refused.
74
74
 
75
- ## Deadlines & polling — `<timeout, poll>`
75
+ ## Lifetime
76
76
 
77
- For a long-running command, the `<L>` slot carries `<timeout, poll>` in minutes:
77
+ How long a command may run is one metadata field; absent, it ends with the loop.
78
78
 
79
- ````sh <30>
80
- npm run build
81
- ````
82
-
83
- ````sh <30,5>
79
+ ````sh [{"lifetime": "30m"}]
84
80
  npm run e2e
85
81
  ````
86
82
 
87
- ````sh <-1,5>
88
- npm run test
89
- ````
90
-
91
- ````sh <-1,0>
92
- tail -f app.log
83
+ ````sh [{"lifetime": "detached"}]
84
+ npm run dev
93
85
  ````
94
86
 
95
- The first coordinate is the timeout: a positive value kills at that deadline;
96
- `-1` declines the deadline and the process outlives the loop — it runs until it
97
- exits or you KILL it, so a server you must leave running takes `<-1>`; `0` keeps
98
- the process only through the current turn. Anything without `-1` is reaped when
99
- the loop ends. The optional
100
- positive second coordinate fixes the poll cadence while a loop is parked on
101
- the stream. With no explicit poll, the consumer uses exponential backoff so a
102
- parked loop can inspect partial output and decide whether to wait or KILL. A
103
- second coordinate of `0` disables timer polling for that stream; its eventual
104
- closure still wakes the loop. Polling wakes the loop but never interrupts the
105
- command.
87
+ A duration (`30s`, `30m`, `2h`) kills the command at that deadline. `detached`
88
+ outlives the loop — it runs until it exits or you KILL it, so a server you must
89
+ leave running takes it. `turn` keeps the command only through the current turn.
90
+ While you wait on a stream, the service wakes you to inspect it; you never ask
91
+ for that, and you never poll from inside a loop. To act again later with nothing
92
+ in flight, add a rule with the `schedule` family targeting yourself.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-execs-common",
3
- "version": "1.18.0",
3
+ "version": "1.19.1",
4
4
  "description": "Universal subprocess executor for plurnk-service's exec scheme — one package exposing the shell, Node.js, Python 3, and supported host interpreters.",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -270,6 +270,6 @@
270
270
  "prepublishOnly": "npm audit --audit-level=moderate && npm test"
271
271
  },
272
272
  "peerDependencies": {
273
- "@plurnk/plurnk-execs": "^1.18.0"
273
+ "@plurnk/plurnk-execs": "^1.19.1"
274
274
  }
275
275
  }