@plurnk/plurnk-service 0.7.0 → 0.8.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/SPEC.md +104 -74
- package/bin/plurnk-service.ts +132 -0
- package/dist/Paths.d.ts +8 -0
- package/dist/Paths.d.ts.map +1 -0
- package/dist/Paths.js +47 -0
- package/dist/Paths.js.map +1 -0
- package/dist/content/index.d.ts +9 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +10 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/line-marker.d.ts +26 -0
- package/dist/content/line-marker.d.ts.map +1 -0
- package/dist/content/line-marker.js +323 -0
- package/dist/content/line-marker.js.map +1 -0
- package/dist/content/matcher.d.ts +15 -0
- package/dist/content/matcher.d.ts.map +1 -0
- package/dist/content/matcher.js +112 -0
- package/dist/content/matcher.js.map +1 -0
- package/dist/content/mimetype-binary.d.ts +9 -0
- package/dist/content/mimetype-binary.d.ts.map +1 -0
- package/dist/content/mimetype-binary.js +86 -0
- package/dist/content/mimetype-binary.js.map +1 -0
- package/dist/content/path-mimetype.d.ts +6 -0
- package/dist/content/path-mimetype.d.ts.map +1 -0
- package/dist/content/path-mimetype.js +49 -0
- package/dist/content/path-mimetype.js.map +1 -0
- package/dist/content/read-resolve.d.ts +20 -0
- package/dist/content/read-resolve.d.ts.map +1 -0
- package/dist/content/read-resolve.js +60 -0
- package/dist/content/read-resolve.js.map +1 -0
- package/dist/core/ChannelWrite.d.ts +33 -30
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +43 -41
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/Engine.d.ts +14 -10
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +269 -94
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/EnvFlags.d.ts +6 -3
- package/dist/core/EnvFlags.d.ts.map +1 -1
- package/dist/core/EnvFlags.js +62 -60
- package/dist/core/EnvFlags.js.map +1 -1
- package/dist/core/PluginLoader.d.ts +6 -3
- package/dist/core/PluginLoader.d.ts.map +1 -1
- package/dist/core/PluginLoader.js +77 -73
- package/dist/core/PluginLoader.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +4 -2
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +23 -22
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +1 -1
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +3 -3
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/git-membership.d.ts +8 -0
- package/dist/core/git-membership.d.ts.map +1 -0
- package/dist/core/git-membership.js +125 -0
- package/dist/core/git-membership.js.map +1 -0
- package/dist/core/packet-wire.d.ts +47 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +376 -312
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/resolveForLoop.d.ts +14 -0
- package/dist/core/resolveForLoop.d.ts.map +1 -0
- package/dist/core/resolveForLoop.js +34 -0
- package/dist/core/resolveForLoop.js.map +1 -0
- package/dist/core/results.d.ts +40 -0
- package/dist/core/results.d.ts.map +1 -0
- package/dist/core/results.js +52 -0
- package/dist/core/results.js.map +1 -0
- package/dist/core/scheme-types.d.ts +5 -4
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js +4 -4
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/types.d.ts +27 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +17 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +1 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -43
- package/dist/index.js.map +1 -1
- package/dist/schemes/Exec.d.ts +1 -0
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +37 -21
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts +0 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +32 -66
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Known.d.ts.map +1 -1
- package/dist/schemes/Known.js +13 -13
- package/dist/schemes/Known.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +8 -52
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Plurnk.d.ts.map +1 -1
- package/dist/schemes/Plurnk.js +13 -13
- package/dist/schemes/Plurnk.js.map +1 -1
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +13 -13
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Unknown.d.ts.map +1 -1
- package/dist/schemes/Unknown.js +13 -13
- package/dist/schemes/Unknown.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +5 -3
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +55 -50
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts +10 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +99 -77
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.d.ts +6 -0
- package/dist/schemes/_entry-manifest.d.ts.map +1 -0
- package/dist/schemes/_entry-manifest.js +45 -0
- package/dist/schemes/_entry-manifest.js.map +1 -0
- package/dist/schemes/_entry-ops.d.ts +7 -4
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +198 -316
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-send.d.ts +4 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +57 -55
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/server/ClientConnection.js +3 -3
- package/dist/server/ClientConnection.js.map +1 -1
- package/dist/server/Daemon.d.ts +5 -5
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +221 -176
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/clientTurn.d.ts +4 -1
- package/dist/server/clientTurn.d.ts.map +1 -1
- package/dist/server/clientTurn.js +19 -17
- package/dist/server/clientTurn.js.map +1 -1
- package/dist/server/dsl.d.ts +19 -16
- package/dist/server/dsl.d.ts.map +1 -1
- package/dist/server/dsl.js +127 -105
- package/dist/server/dsl.js.map +1 -1
- package/dist/server/envelope.d.ts +22 -19
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +116 -102
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/logEntry.d.ts +4 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +41 -39
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/methods/_dispatchAsClient.d.ts +3 -1
- package/dist/server/methods/_dispatchAsClient.d.ts.map +1 -1
- package/dist/server/methods/_dispatchAsClient.js +31 -29
- package/dist/server/methods/_dispatchAsClient.js.map +1 -1
- package/dist/server/methods/discover.d.ts +3 -1
- package/dist/server/methods/discover.d.ts.map +1 -1
- package/dist/server/methods/discover.js +8 -6
- package/dist/server/methods/discover.js.map +1 -1
- package/dist/server/methods/entry_read.d.ts +4 -1
- package/dist/server/methods/entry_read.d.ts.map +1 -1
- package/dist/server/methods/entry_read.js +54 -52
- package/dist/server/methods/entry_read.js.map +1 -1
- package/dist/server/methods/log_read.d.ts +4 -1
- package/dist/server/methods/log_read.d.ts.map +1 -1
- package/dist/server/methods/log_read.js +38 -36
- package/dist/server/methods/log_read.js.map +1 -1
- package/dist/server/methods/loop_cancel.d.ts +3 -1
- package/dist/server/methods/loop_cancel.d.ts.map +1 -1
- package/dist/server/methods/loop_cancel.js +19 -17
- package/dist/server/methods/loop_cancel.js.map +1 -1
- package/dist/server/methods/loop_resolve.d.ts +3 -1
- package/dist/server/methods/loop_resolve.d.ts.map +1 -1
- package/dist/server/methods/loop_resolve.js +42 -40
- package/dist/server/methods/loop_resolve.js.map +1 -1
- package/dist/server/methods/loop_run.d.ts +3 -1
- package/dist/server/methods/loop_run.d.ts.map +1 -1
- package/dist/server/methods/loop_run.js +104 -102
- package/dist/server/methods/loop_run.js.map +1 -1
- package/dist/server/methods/op_copy.d.ts +3 -1
- package/dist/server/methods/op_copy.d.ts.map +1 -1
- package/dist/server/methods/op_copy.js +25 -23
- package/dist/server/methods/op_copy.js.map +1 -1
- package/dist/server/methods/op_dispatch.d.ts +3 -1
- package/dist/server/methods/op_dispatch.d.ts.map +1 -1
- package/dist/server/methods/op_dispatch.js +18 -16
- package/dist/server/methods/op_dispatch.js.map +1 -1
- package/dist/server/methods/op_edit.d.ts +3 -1
- package/dist/server/methods/op_edit.d.ts.map +1 -1
- package/dist/server/methods/op_edit.js +23 -21
- package/dist/server/methods/op_edit.js.map +1 -1
- package/dist/server/methods/op_exec.d.ts +3 -1
- package/dist/server/methods/op_exec.d.ts.map +1 -1
- package/dist/server/methods/op_exec.js +20 -18
- package/dist/server/methods/op_exec.js.map +1 -1
- package/dist/server/methods/op_find.d.ts +3 -1
- package/dist/server/methods/op_find.d.ts.map +1 -1
- package/dist/server/methods/op_find.js +23 -21
- package/dist/server/methods/op_find.js.map +1 -1
- package/dist/server/methods/op_hide.d.ts +3 -1
- package/dist/server/methods/op_hide.d.ts.map +1 -1
- package/dist/server/methods/op_hide.js +23 -21
- package/dist/server/methods/op_hide.js.map +1 -1
- package/dist/server/methods/op_move.d.ts +3 -1
- package/dist/server/methods/op_move.d.ts.map +1 -1
- package/dist/server/methods/op_move.js +23 -21
- package/dist/server/methods/op_move.js.map +1 -1
- package/dist/server/methods/op_parse.d.ts +3 -1
- package/dist/server/methods/op_parse.d.ts.map +1 -1
- package/dist/server/methods/op_parse.js +24 -22
- package/dist/server/methods/op_parse.js.map +1 -1
- package/dist/server/methods/op_read.d.ts +3 -1
- package/dist/server/methods/op_read.d.ts.map +1 -1
- package/dist/server/methods/op_read.js +23 -21
- package/dist/server/methods/op_read.js.map +1 -1
- package/dist/server/methods/op_send.d.ts +3 -1
- package/dist/server/methods/op_send.d.ts.map +1 -1
- package/dist/server/methods/op_send.js +22 -20
- package/dist/server/methods/op_send.js.map +1 -1
- package/dist/server/methods/op_show.d.ts +3 -1
- package/dist/server/methods/op_show.d.ts.map +1 -1
- package/dist/server/methods/op_show.js +23 -21
- package/dist/server/methods/op_show.js.map +1 -1
- package/dist/server/methods/ping.d.ts +3 -1
- package/dist/server/methods/ping.d.ts.map +1 -1
- package/dist/server/methods/ping.js +8 -6
- package/dist/server/methods/ping.js.map +1 -1
- package/dist/server/methods/providers_list.d.ts +3 -1
- package/dist/server/methods/providers_list.d.ts.map +1 -1
- package/dist/server/methods/providers_list.js +19 -17
- package/dist/server/methods/providers_list.js.map +1 -1
- package/dist/server/methods/session_attach.d.ts +3 -1
- package/dist/server/methods/session_attach.d.ts.map +1 -1
- package/dist/server/methods/session_attach.js +43 -41
- package/dist/server/methods/session_attach.js.map +1 -1
- package/dist/server/methods/session_create.d.ts +3 -1
- package/dist/server/methods/session_create.d.ts.map +1 -1
- package/dist/server/methods/session_create.js +51 -49
- package/dist/server/methods/session_create.js.map +1 -1
- package/dist/server/methods/session_list.d.ts +3 -1
- package/dist/server/methods/session_list.d.ts.map +1 -1
- package/dist/server/methods/session_list.js +9 -7
- package/dist/server/methods/session_list.js.map +1 -1
- package/dist/server/methods/session_runs.d.ts +3 -1
- package/dist/server/methods/session_runs.d.ts.map +1 -1
- package/dist/server/methods/session_runs.js +19 -17
- package/dist/server/methods/session_runs.js.map +1 -1
- package/dist/server/methods/session_set_persona.d.ts +3 -1
- package/dist/server/methods/session_set_persona.d.ts.map +1 -1
- package/dist/server/methods/session_set_persona.js +28 -26
- package/dist/server/methods/session_set_persona.js.map +1 -1
- package/dist/server/methods/session_set_root.d.ts +3 -1
- package/dist/server/methods/session_set_root.d.ts.map +1 -1
- package/dist/server/methods/session_set_root.js +31 -29
- package/dist/server/methods/session_set_root.js.map +1 -1
- package/dist/server/yolo.d.ts +3 -1
- package/dist/server/yolo.d.ts.map +1 -1
- package/dist/server/yolo.js +15 -13
- package/dist/server/yolo.js.map +1 -1
- package/package.json +74 -30
- package/bin/plurnk-service.js +0 -112
- /package/migrations/{001_schema.sql → 0000-00-00.01_schema.sql} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-service",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-grammar contract.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"./package.json": "./package.json"
|
|
16
16
|
},
|
|
17
17
|
"bin": {
|
|
18
|
-
"plurnk-service": "./bin/plurnk-service.
|
|
18
|
+
"plurnk-service": "./bin/plurnk-service.ts"
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
|
-
"bin/plurnk-service.
|
|
21
|
+
"bin/plurnk-service.ts",
|
|
22
22
|
"dist/**/*",
|
|
23
23
|
"migrations/**/*.sql",
|
|
24
24
|
"persona.md",
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
"access": "public"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
|
-
"start": "node bin/plurnk-service.
|
|
32
|
+
"start": "node bin/plurnk-service.ts",
|
|
33
33
|
"test:lint": "tsc --noEmit",
|
|
34
|
-
"test:unit": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test src/**/*.test.ts",
|
|
35
|
-
"test:intg": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test test/intg/*.test.ts",
|
|
34
|
+
"test:unit": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-timeout=30000 src/**/*.test.ts",
|
|
35
|
+
"test:intg": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-timeout=30000 test/intg/*.test.ts",
|
|
36
36
|
"test:live": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/live/*.test.ts",
|
|
37
37
|
"test:demo": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
|
|
38
38
|
"test:all": "npm run test:lint && npm run test:unit && npm run test:intg && npm run test:demo",
|
|
39
|
-
"test:digest": "node bin/digest.
|
|
39
|
+
"test:digest": "node bin/digest.ts",
|
|
40
40
|
"test:clean-tmp": "rm -rf test/intg/.tmp",
|
|
41
|
-
"dev:digest": "node bin/digest.
|
|
41
|
+
"dev:digest": "node bin/digest.ts",
|
|
42
42
|
"build:dist": "tsc -p tsconfig.build.json",
|
|
43
43
|
"build": "npm run build:dist",
|
|
44
44
|
"prepare": "npm run build"
|
|
@@ -46,29 +46,73 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@plurnk/plurnk-execs": "0.2.0",
|
|
48
48
|
"@plurnk/plurnk-execs-sh": "0.1.0",
|
|
49
|
-
"@plurnk/plurnk-grammar": "0.
|
|
50
|
-
"@plurnk/plurnk-mimetypes": "0.
|
|
51
|
-
"@plurnk/plurnk-mimetypes-application-json": "0.
|
|
52
|
-
"@plurnk/plurnk-mimetypes-application-pdf": "0.
|
|
53
|
-
"@plurnk/plurnk-mimetypes-application-
|
|
54
|
-
"@plurnk/plurnk-mimetypes-
|
|
55
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
56
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
57
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
58
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
59
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
60
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
61
|
-
"@plurnk/plurnk-
|
|
62
|
-
"@plurnk/plurnk-
|
|
63
|
-
"@plurnk/plurnk-
|
|
64
|
-
"@plurnk/plurnk-
|
|
49
|
+
"@plurnk/plurnk-grammar": "0.21.0",
|
|
50
|
+
"@plurnk/plurnk-mimetypes": "0.11.0",
|
|
51
|
+
"@plurnk/plurnk-mimetypes-application-json": "0.5.0",
|
|
52
|
+
"@plurnk/plurnk-mimetypes-application-pdf": "0.6.0",
|
|
53
|
+
"@plurnk/plurnk-mimetypes-application-xml": "0.1.0",
|
|
54
|
+
"@plurnk/plurnk-mimetypes-text-clojure": "0.2.0",
|
|
55
|
+
"@plurnk/plurnk-mimetypes-text-cmake": "0.2.0",
|
|
56
|
+
"@plurnk/plurnk-mimetypes-text-common-lisp": "0.2.0",
|
|
57
|
+
"@plurnk/plurnk-mimetypes-text-csharp": "0.2.0",
|
|
58
|
+
"@plurnk/plurnk-mimetypes-text-csv": "0.4.0",
|
|
59
|
+
"@plurnk/plurnk-mimetypes-text-datalog": "0.3.0",
|
|
60
|
+
"@plurnk/plurnk-mimetypes-text-erlang": "0.2.0",
|
|
61
|
+
"@plurnk/plurnk-mimetypes-text-graphql": "0.2.0",
|
|
62
|
+
"@plurnk/plurnk-mimetypes-text-html": "0.6.0",
|
|
63
|
+
"@plurnk/plurnk-mimetypes-text-mariadb": "0.3.0",
|
|
64
|
+
"@plurnk/plurnk-mimetypes-text-markdown": "0.6.0",
|
|
65
|
+
"@plurnk/plurnk-mimetypes-text-plain": "0.7.0",
|
|
66
|
+
"@plurnk/plurnk-mimetypes-text-plsql": "0.2.0",
|
|
67
|
+
"@plurnk/plurnk-mimetypes-text-postgresql": "0.3.0",
|
|
68
|
+
"@plurnk/plurnk-mimetypes-text-prolog": "0.2.0",
|
|
69
|
+
"@plurnk/plurnk-mimetypes-text-protobuf": "0.3.0",
|
|
70
|
+
"@plurnk/plurnk-mimetypes-text-redis": "0.3.0",
|
|
71
|
+
"@plurnk/plurnk-mimetypes-text-sparql": "0.2.0",
|
|
72
|
+
"@plurnk/plurnk-mimetypes-text-sqlite": "0.3.0",
|
|
73
|
+
"@plurnk/plurnk-mimetypes-text-swift": "0.1.0",
|
|
74
|
+
"@plurnk/plurnk-mimetypes-text-terraform": "0.3.0",
|
|
75
|
+
"@plurnk/plurnk-mimetypes-text-tsql": "0.2.0",
|
|
76
|
+
"@plurnk/plurnk-providers": "0.1.4",
|
|
77
|
+
"@plurnk/plurnk-providers-cloudflare": "0.2.4",
|
|
78
|
+
"@plurnk/plurnk-providers-google": "0.2.5",
|
|
79
|
+
"@plurnk/plurnk-providers-ollama": "0.2.4",
|
|
65
80
|
"@plurnk/plurnk-providers-openai": "0.2.0",
|
|
66
|
-
"@plurnk/plurnk-providers-openrouter": "0.2.
|
|
67
|
-
"@plurnk/plurnk-providers-xai": "0.2.
|
|
68
|
-
"@
|
|
69
|
-
"@
|
|
70
|
-
"
|
|
71
|
-
"
|
|
81
|
+
"@plurnk/plurnk-providers-openrouter": "0.2.4",
|
|
82
|
+
"@plurnk/plurnk-providers-xai": "0.2.4",
|
|
83
|
+
"@possumtech/sqlrite": "5.1.1",
|
|
84
|
+
"@tree-sitter-grammars/tree-sitter-kotlin": "^1.1.0",
|
|
85
|
+
"@tree-sitter-grammars/tree-sitter-lua": "^0.4.1",
|
|
86
|
+
"@tree-sitter-grammars/tree-sitter-toml": "^0.7.0",
|
|
87
|
+
"@tree-sitter-grammars/tree-sitter-yaml": "^0.7.1",
|
|
88
|
+
"@tree-sitter-grammars/tree-sitter-zig": "^1.1.2",
|
|
89
|
+
"@xmldom/xmldom": "^0.9.10",
|
|
90
|
+
"antlr-ng": "^1.0.10",
|
|
91
|
+
"antlr4ng": "^3.0.16",
|
|
92
|
+
"diff": "^9.0.0",
|
|
93
|
+
"tree-sitter-bash": "^0.25.1",
|
|
94
|
+
"tree-sitter-c": "^0.24.1",
|
|
95
|
+
"tree-sitter-cpp": "^0.23.4",
|
|
96
|
+
"tree-sitter-dart": "^1.0.0",
|
|
97
|
+
"tree-sitter-elixir": "^0.3.5",
|
|
98
|
+
"tree-sitter-fsharp": "^0.1.0",
|
|
99
|
+
"tree-sitter-go": "^0.25.0",
|
|
100
|
+
"tree-sitter-haskell": "^0.23.1",
|
|
101
|
+
"tree-sitter-java": "^0.23.5",
|
|
102
|
+
"tree-sitter-javascript": "^0.25.0",
|
|
103
|
+
"tree-sitter-julia": "^0.23.1",
|
|
104
|
+
"tree-sitter-make": "^1.1.1",
|
|
105
|
+
"tree-sitter-ocaml": "^0.24.2",
|
|
106
|
+
"tree-sitter-odin": "^1.3.0",
|
|
107
|
+
"tree-sitter-php": "^0.24.2",
|
|
108
|
+
"tree-sitter-python": "^0.25.0",
|
|
109
|
+
"tree-sitter-ruby": "^0.23.1",
|
|
110
|
+
"tree-sitter-rust": "^0.24.0",
|
|
111
|
+
"tree-sitter-scala": "^0.24.0",
|
|
112
|
+
"tree-sitter-typescript": "^0.23.2",
|
|
113
|
+
"web-tree-sitter": "^0.26.9",
|
|
114
|
+
"ws": "^8.20.1",
|
|
115
|
+
"xpath": "^0.0.34"
|
|
72
116
|
},
|
|
73
117
|
"devDependencies": {
|
|
74
118
|
"@types/diff": "^7.0.2",
|
package/bin/plurnk-service.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { parseArgs } from "node:util";
|
|
4
|
-
import { existsSync } from "node:fs";
|
|
5
|
-
import SqlRite from "@possumtech/sqlrite";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
|
-
import { dirname, resolve } from "node:path";
|
|
8
|
-
import Daemon from "../src/server/Daemon.ts";
|
|
9
|
-
import { parseEnvExample, formatFlagsHelp } from "../src/core/EnvFlags.ts";
|
|
10
|
-
import { loadActiveProvider } from "../src/core/ProviderInstantiate.ts";
|
|
11
|
-
import { resolveActiveAlias } from "@plurnk/plurnk-providers";
|
|
12
|
-
|
|
13
|
-
const die = (code, message) => {
|
|
14
|
-
process.stderr.write(`${message}\n`);
|
|
15
|
-
process.exit(code);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const projectRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
19
|
-
|
|
20
|
-
// Env cascade: .env.example (shipped defaults) < .env (project) < .env.<config> (--config)
|
|
21
|
-
// < shell. process.loadEnvFile is set-if-unset, so loading in low→high precedence
|
|
22
|
-
// order yields the right effective env.
|
|
23
|
-
const configFlagIndex = process.argv.findIndex((a) => a === "--config" || a.startsWith("--config="));
|
|
24
|
-
const configFile = (() => {
|
|
25
|
-
if (configFlagIndex === -1) return null;
|
|
26
|
-
const arg = process.argv[configFlagIndex];
|
|
27
|
-
if (arg.includes("=")) return arg.slice(arg.indexOf("=") + 1);
|
|
28
|
-
return process.argv[configFlagIndex + 1] ?? null;
|
|
29
|
-
})();
|
|
30
|
-
|
|
31
|
-
const loadEnv = (path, required) => {
|
|
32
|
-
if (existsSync(path)) {
|
|
33
|
-
try { process.loadEnvFile(path); }
|
|
34
|
-
catch (cause) { die(64, `failed to load ${path}: ${cause instanceof Error ? cause.message : String(cause)}`); }
|
|
35
|
-
} else if (required) {
|
|
36
|
-
die(64, `--config: ${path} does not exist`);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
// Highest precedence loads FIRST (set-if-unset semantics: first write wins).
|
|
41
|
-
if (configFile !== null) loadEnv(configFile, true);
|
|
42
|
-
loadEnv(".env", false);
|
|
43
|
-
loadEnv(resolve(projectRoot, ".env.example"), false);
|
|
44
|
-
|
|
45
|
-
const flagDescriptors = await parseEnvExample(resolve(projectRoot, ".env.example"));
|
|
46
|
-
const flagOptions = {};
|
|
47
|
-
for (const f of flagDescriptors) {
|
|
48
|
-
flagOptions[f.flagName.replace(/^--/, "")] = { type: "string" };
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const USAGE = `usage: plurnk-service [options] [migrate]
|
|
52
|
-
|
|
53
|
-
${formatFlagsHelp(flagDescriptors)}
|
|
54
|
-
|
|
55
|
-
--config=<path> layer additional env from <path>
|
|
56
|
-
-h, --help show this help
|
|
57
|
-
`;
|
|
58
|
-
|
|
59
|
-
const openDb = async (dbPath) => SqlRite.open({
|
|
60
|
-
path: dbPath,
|
|
61
|
-
dir: [resolve(projectRoot, "migrations"), resolve(projectRoot, "src")],
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
const migrate = async () => {
|
|
65
|
-
const db = await openDb(process.env.PLURNK_DB_PATH);
|
|
66
|
-
try { process.stdout.write(`migrated: ${process.env.PLURNK_DB_PATH}\n`); }
|
|
67
|
-
finally { await db.close(); }
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
const start = async () => {
|
|
71
|
-
const dbPath = process.env.PLURNK_DB_PATH;
|
|
72
|
-
const host = process.env.PLURNK_HOST;
|
|
73
|
-
const port = Number(process.env.PLURNK_PORT);
|
|
74
|
-
|
|
75
|
-
const db = await openDb(dbPath);
|
|
76
|
-
const alias = resolveActiveAlias();
|
|
77
|
-
const provider = alias === null ? null : await loadActiveProvider();
|
|
78
|
-
const daemon = new Daemon({ db, provider });
|
|
79
|
-
const addr = await daemon.start({ host, port });
|
|
80
|
-
const aliasStr = alias === null ? "no model" : `${alias.alias}=${alias.provider}/${alias.model}`;
|
|
81
|
-
process.stdout.write(`plurnk-service ws://${addr.host}:${addr.port} db=${dbPath} ${aliasStr}\n`);
|
|
82
|
-
|
|
83
|
-
const shutdown = async () => { await daemon.stop(); await db.close(); process.exit(0); };
|
|
84
|
-
process.on("SIGINT", shutdown);
|
|
85
|
-
process.on("SIGTERM", shutdown);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
const { positionals, values } = parseArgs({
|
|
89
|
-
allowPositionals: true,
|
|
90
|
-
strict: false,
|
|
91
|
-
options: { help: { type: "boolean", short: "h" }, config: { type: "string" }, ...flagOptions },
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
for (const f of flagDescriptors) {
|
|
95
|
-
const key = f.flagName.replace(/^--/, "");
|
|
96
|
-
if (typeof values[key] === "string") process.env[f.envName] = values[key];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (values.help) { process.stdout.write(USAGE); process.exit(0); }
|
|
100
|
-
|
|
101
|
-
const dispatch = { migrate, start };
|
|
102
|
-
const subcommand = positionals[0] ?? "start";
|
|
103
|
-
const handler = dispatch[subcommand];
|
|
104
|
-
if (handler === undefined) die(64, `unknown subcommand: ${subcommand}\n\n${USAGE}`);
|
|
105
|
-
if (positionals.length > 1) die(64, `unexpected arguments: ${positionals.slice(1).join(" ")}`);
|
|
106
|
-
|
|
107
|
-
try { await handler(); }
|
|
108
|
-
catch (cause) {
|
|
109
|
-
process.stderr.write(`${subcommand}: ${cause instanceof Error ? cause.message : String(cause)}\n`);
|
|
110
|
-
if (cause instanceof Error && cause.cause) process.stderr.write(` cause: ${cause.cause instanceof Error ? cause.cause.message : String(cause.cause)}\n`);
|
|
111
|
-
process.exit(1);
|
|
112
|
-
}
|
|
File without changes
|