@plurnk/plurnk-execs-sqlite 1.5.0 → 1.6.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.
package/README.md CHANGED
@@ -15,8 +15,11 @@ A `@plurnk/plurnk-execs-*` sibling built on the [plurnk-execs](https://github.co
15
15
  The EXEC target slot is the database file; with no target it defaults to an ephemeral in-memory db:
16
16
 
17
17
  ```plurnk
18
- <<EXEC[sqlite]:SELECT * FROM users:EXEC
19
- <<EXEC[sqlite](./app.db):SELECT * FROM users:EXEC
18
+ ## EXEC0 [sqlite]
19
+ SELECT * FROM users;
20
+
21
+ ## EXEC0 [sqlite] (./app.db)
22
+ SELECT * FROM users;
20
23
  ```
21
24
 
22
25
  With no target, a fresh `:memory:` database exists for that operation only.
@@ -27,7 +30,8 @@ State does not persist across EXECs. Pass a file path for persistence.
27
30
  With no target, `:memory:` is a scratch calculator over ad-hoc tables — build one inline with `VALUES` and aggregate, no schema or file needed:
28
31
 
29
32
  ```plurnk
30
- <<EXEC[sqlite]:WITH t(item,qty,price) AS (VALUES ('a',3,2),('b',1,5)) SELECT sum(qty*price) AS total, sum(qty*price)*1.0/sum(qty) AS avg_price FROM t:EXEC
33
+ ## EXEC0 [sqlite]
34
+ WITH t(item,qty,price) AS (VALUES ('a',3,2),('b',1,5)) SELECT sum(qty*price) AS total, sum(qty*price)*1.0/sum(qty) AS avg_price FROM t;
31
35
  ```
32
36
 
33
37
  **Use floats to avoid integer truncation.** SQLite integer division truncates — `11/4` → `2`. Multiply by `1.0` (or `CAST(x AS REAL)`) to force real division: `11*1.0/4` → `2.75`. Any division over integer columns needs this, or the result is silently floored.
package/dist/Sqlite.d.ts CHANGED
@@ -4,6 +4,6 @@ export default class Sqlite extends BaseExecutor {
4
4
  get channels(): Readonly<Record<string, ChannelDecl>>;
5
5
  probe(): Promise<RuntimeAvailability>;
6
6
  effect(target: string | null): Effect;
7
- run({ command, cwd, target, signal, write, setState }: ExecArgs): Promise<ExecResult>;
7
+ run({ body, cwd, target, signal, write, setState }: ExecArgs): Promise<ExecResult>;
8
8
  }
9
9
  //# sourceMappingURL=Sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../src/Sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA0C,MAAM,sBAAsB,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAkC3G,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAEpD;IAGc,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAEnD;IAIQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE7C;IAEK,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAiH1F;CACJ"}
1
+ {"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../src/Sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA0C,MAAM,sBAAsB,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAkC3G,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAEpD;IAGc,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAEnD;IAIQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE7C;IAEK,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAiHvF;CACJ"}
package/dist/Sqlite.js CHANGED
@@ -21,8 +21,8 @@ const stripComments = (sql) => sql.replace(/--[^\n]*/g, "").replace(/\/\*[\s\S]*
21
21
  // ephemeral `:memory:` when no target is given — and writes the result to the
22
22
  // `results` channel as application/json, ready for the jsonpath body-matcher.
23
23
  //
24
- // <<EXEC[sqlite]:SELECT * FROM users:EXEC → :memory: (ephemeral)
25
- // <<EXEC[sqlite](./app.db):SELECT * FROM users:EXEC → ./app.db (persistent)
24
+ // ## EXEC0 [sqlite]\nSELECT * FROM users → :memory: (ephemeral)
25
+ // ## EXEC0 [sqlite] (./app.db)\nSELECT * FROM users → ./app.db (persistent)
26
26
  //
27
27
  // Row-returning statements (SELECT, RETURNING, PRAGMA) write an array of row
28
28
  // objects; mutations write `{ changes, lastInsertRowid }`. The query/mutation
@@ -41,7 +41,7 @@ export default class Sqlite extends BaseExecutor {
41
41
  effect(target) {
42
42
  return target === null || target === MEMORY ? "pure" : "host";
43
43
  }
44
- async run({ command, cwd, target, signal, write, setState }) {
44
+ async run({ body, cwd, target, signal, write, setState }) {
45
45
  // node:sqlite is fully synchronous — no await point to interrupt mid-query —
46
46
  // so the only place to honor an abort is before the work starts
47
47
  // ({§executor-cancellation}).
@@ -55,7 +55,7 @@ export default class Sqlite extends BaseExecutor {
55
55
  });
56
56
  }
57
57
  const path = dbPath(cwd, target);
58
- const sql = command.trim();
58
+ const sql = body.trim();
59
59
  const errorPreview = ErrorDetail.configuredLimit();
60
60
  const fail = (kind, message, status = 500, extensions = {}) => {
61
61
  setState("results", "errored");
@@ -1 +1 @@
1
- {"version":3,"file":"Sqlite.js","sourceRoot":"","sources":["../src/Sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sqlite.js","sourceRoot":"","sources":["../src/Sqlite.ts"],"names":[],"mappings":"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"}
package/docs/sqlite.md CHANGED
@@ -10,7 +10,7 @@ than SQL. Use their SQL equivalents, such as querying `sqlite_master`.
10
10
 
11
11
  ## Database target
12
12
 
13
- `EXEC[sqlite](./app.db):…` runs against the file `./app.db` (created if absent),
13
+ `## EXEC0 [sqlite] (./app.db)` with a SQL body runs against the file `./app.db` (created if absent),
14
14
  a persistent host-mutating database that requires proposal review. With no
15
15
  target, it runs against a fresh `:memory:` database that is gone when the
16
16
  operation finishes and bypasses proposal review. A directory is not a database
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-execs-sqlite",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "SQLite runtime executor for plurnk-service's exec scheme — runs the sqlite runtime tag in-process via node:sqlite, results as application/json.",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -34,7 +34,21 @@
34
34
  {
35
35
  "name": "sqlite",
36
36
  "glyph": "🗃",
37
- "example": "<<EXEC[sqlite](./app.db):SELECT count(*) FROM users:EXEC\n<<EXEC[sqlite]:WITH t(item,qty,price) AS (VALUES ('a',3,2),('b',1,5)) SELECT sum(qty*price) AS total, sum(qty*price)*1.0/sum(qty) AS avg_price FROM t:EXEC"
37
+ "invocation": {
38
+ "body": {
39
+ "role": "SQL statement",
40
+ "required": true
41
+ },
42
+ "target": {
43
+ "role": "SQLite database",
44
+ "required": false,
45
+ "kind": "path"
46
+ },
47
+ "example": {
48
+ "target": "app.db",
49
+ "body": "SELECT 1;"
50
+ }
51
+ }
38
52
  }
39
53
  ]
40
54
  },
@@ -62,6 +76,6 @@
62
76
  "prepublishOnly": "npm audit --audit-level=moderate && npm test"
63
77
  },
64
78
  "peerDependencies": {
65
- "@plurnk/plurnk-execs": "^1.5.0"
79
+ "@plurnk/plurnk-execs": "^1.6.0"
66
80
  }
67
81
  }