@silverbulletmd/silverbullet 2.4.2 → 2.6.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.
- package/README.md +19 -4
- package/client/asset_bundle/bundle.ts +3 -9
- package/client/data/datastore.ts +4 -5
- package/client/markdown_parser/constants.ts +5 -4
- package/client/plugos/hooks/code_widget.ts +3 -8
- package/client/plugos/hooks/command.ts +8 -8
- package/client/plugos/hooks/document_editor.ts +10 -15
- package/client/plugos/hooks/event.ts +33 -36
- package/client/plugos/hooks/mq.ts +17 -17
- package/client/plugos/hooks/plug_namespace.ts +3 -8
- package/client/plugos/hooks/slash_command.ts +13 -28
- package/client/plugos/hooks/syscall.ts +3 -3
- package/client/plugos/manifest_cache.ts +22 -15
- package/client/plugos/plug.ts +2 -6
- package/client/plugos/plug_compile.ts +79 -78
- package/client/plugos/protocol.ts +28 -28
- package/client/plugos/proxy_fetch.ts +7 -6
- package/client/plugos/sandboxes/web_worker_sandbox.ts +1 -1
- package/client/plugos/sandboxes/worker_sandbox.ts +18 -18
- package/client/plugos/syscalls/asset.ts +1 -3
- package/client/plugos/syscalls/code_widget.ts +1 -3
- package/client/plugos/syscalls/config.ts +1 -5
- package/client/plugos/syscalls/datastore.ts +1 -1
- package/client/plugos/syscalls/editor.ts +72 -69
- package/client/plugos/syscalls/event.ts +9 -12
- package/client/plugos/syscalls/fetch.ts +31 -23
- package/client/plugos/syscalls/index.ts +10 -1
- package/client/plugos/syscalls/jsonschema.ts +72 -32
- package/client/plugos/syscalls/language.ts +9 -5
- package/client/plugos/syscalls/markdown.ts +29 -7
- package/client/plugos/syscalls/mq.ts +4 -12
- package/client/plugos/syscalls/service_registry.ts +1 -4
- package/client/plugos/syscalls/shell.ts +2 -5
- package/client/plugos/syscalls/space.ts +1 -1
- package/client/plugos/syscalls/sync.ts +69 -60
- package/client/plugos/syscalls/system.ts +2 -3
- package/client/plugos/system.ts +6 -12
- package/client/plugos/worker_runtime.ts +12 -33
- package/client/space_lua/aggregates.ts +782 -0
- package/client/space_lua/ast.ts +42 -8
- package/client/space_lua/ast_narrow.ts +4 -2
- package/client/space_lua/eval.ts +886 -575
- package/client/space_lua/labels.ts +7 -12
- package/client/space_lua/liq_null.ts +6 -0
- package/client/space_lua/numeric.ts +5 -8
- package/client/space_lua/parse.ts +346 -120
- package/client/space_lua/query_collection.ts +926 -82
- package/client/space_lua/query_env.ts +26 -0
- package/client/space_lua/render_lua_markdown.ts +369 -0
- package/client/space_lua/rp.ts +5 -4
- package/client/space_lua/runtime.ts +288 -155
- package/client/space_lua/stdlib/format.ts +53 -39
- package/client/space_lua/stdlib/js.ts +3 -7
- package/client/space_lua/stdlib/load.ts +1 -3
- package/client/space_lua/stdlib/math.ts +84 -58
- package/client/space_lua/stdlib/net.ts +27 -17
- package/client/space_lua/stdlib/os.ts +81 -85
- package/client/space_lua/stdlib/pattern.ts +695 -0
- package/client/space_lua/stdlib/prng.ts +148 -0
- package/client/space_lua/stdlib/space_lua.ts +17 -23
- package/client/space_lua/stdlib/string.ts +102 -190
- package/client/space_lua/stdlib/string_pack.ts +490 -0
- package/client/space_lua/stdlib/table.ts +76 -16
- package/client/space_lua/stdlib.ts +53 -39
- package/client/space_lua/tonumber.ts +82 -42
- package/client/space_lua/util.ts +53 -15
- package/dist/plug-compile.js +55 -98
- package/package.json +27 -20
- package/plug-api/constants.ts +0 -32
- package/plug-api/lib/async.ts +20 -7
- package/plug-api/lib/crypto.ts +16 -17
- package/plug-api/lib/dates.ts +15 -7
- package/plug-api/lib/json.ts +11 -5
- package/plug-api/lib/limited_map.ts +1 -1
- package/plug-api/lib/native_fetch.ts +2 -0
- package/plug-api/lib/ref.ts +23 -23
- package/plug-api/lib/resolve.ts +7 -11
- package/plug-api/lib/tags.ts +13 -4
- package/plug-api/lib/transclusion.ts +10 -21
- package/plug-api/lib/tree.ts +165 -45
- package/plug-api/lib/yaml.ts +35 -25
- package/plug-api/syscalls/asset.ts +1 -1
- package/plug-api/syscalls/config.ts +1 -4
- package/plug-api/syscalls/editor.ts +15 -15
- package/plug-api/syscalls/jsonschema.ts +1 -3
- package/plug-api/syscalls/lua.ts +3 -9
- package/plug-api/syscalls/mq.ts +1 -4
- package/plug-api/syscalls/shell.ts +4 -1
- package/plug-api/syscalls/space.ts +3 -10
- package/plug-api/syscalls/system.ts +1 -4
- package/plug-api/syscalls/yaml.ts +2 -6
- package/plug-api/system_mock.ts +0 -1
- package/plug-api/types/client.ts +16 -1
- package/plug-api/types/event.ts +6 -4
- package/plug-api/types/manifest.ts +8 -9
- package/plugs/builtin_plugs.ts +2 -2
- package/client/plugos/sandboxes/deno_worker_sandbox.ts +0 -6
|
@@ -27,7 +27,10 @@ type FunctionMeta = {
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
class LabelResolveError extends Error {
|
|
30
|
-
constructor(
|
|
30
|
+
constructor(
|
|
31
|
+
msg: string,
|
|
32
|
+
public astCtx: ASTCtx,
|
|
33
|
+
) {
|
|
31
34
|
super(msg);
|
|
32
35
|
}
|
|
33
36
|
}
|
|
@@ -70,14 +73,7 @@ type ValidationCtx = {
|
|
|
70
73
|
closeLocals: Set<LocalID>;
|
|
71
74
|
};
|
|
72
75
|
|
|
73
|
-
type BlockRole =
|
|
74
|
-
| "Root"
|
|
75
|
-
| "Do"
|
|
76
|
-
| "If"
|
|
77
|
-
| "While"
|
|
78
|
-
| "Repeat"
|
|
79
|
-
| "For"
|
|
80
|
-
| "ForIn";
|
|
76
|
+
type BlockRole = "Root" | "Do" | "If" | "While" | "Repeat" | "For" | "ForIn";
|
|
81
77
|
|
|
82
78
|
function resolveFunction(root: LuaBlock): FunctionMeta {
|
|
83
79
|
const existing = functionMetaByRoot.get(root);
|
|
@@ -122,7 +118,7 @@ function resolveFunction(root: LuaBlock): FunctionMeta {
|
|
|
122
118
|
|
|
123
119
|
while (searchBlock) {
|
|
124
120
|
const meta = blockMeta.get(searchBlock);
|
|
125
|
-
if (meta
|
|
121
|
+
if (meta?.labels.has(target)) {
|
|
126
122
|
labelIndex = meta.labels.get(target);
|
|
127
123
|
labelDefBlock = searchBlock;
|
|
128
124
|
break;
|
|
@@ -282,8 +278,7 @@ function processBlock(
|
|
|
282
278
|
curActive.add(id);
|
|
283
279
|
|
|
284
280
|
const isClose =
|
|
285
|
-
l.names[j].attributes?.includes(LuaAttribute.Close) ===
|
|
286
|
-
true;
|
|
281
|
+
l.names[j].attributes?.includes(LuaAttribute.Close) === true;
|
|
287
282
|
if (isClose) {
|
|
288
283
|
vctx.closeLocals.add(id);
|
|
289
284
|
}
|
|
@@ -31,10 +31,7 @@ function makeFloat(n: number): LuaTaggedFloat {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// Box a zero with a given kind tag.
|
|
34
|
-
export function makeLuaZero(
|
|
35
|
-
n: number,
|
|
36
|
-
numericType: NumericType,
|
|
37
|
-
): any {
|
|
34
|
+
export function makeLuaZero(n: number, numericType: NumericType): any {
|
|
38
35
|
if (n !== 0) {
|
|
39
36
|
return n;
|
|
40
37
|
}
|
|
@@ -107,9 +104,7 @@ export function combineNumericTypes(
|
|
|
107
104
|
return "int";
|
|
108
105
|
}
|
|
109
106
|
|
|
110
|
-
export function getNumericKind(
|
|
111
|
-
n: unknown,
|
|
112
|
-
): NumericType | undefined {
|
|
107
|
+
export function getNumericKind(n: unknown): NumericType | undefined {
|
|
113
108
|
if (typeof n === "number") {
|
|
114
109
|
return inferNumericType(n);
|
|
115
110
|
}
|
|
@@ -174,7 +169,9 @@ export function coerceNumericPair(
|
|
|
174
169
|
right: b,
|
|
175
170
|
resultType: forceFloat
|
|
176
171
|
? "float"
|
|
177
|
-
:
|
|
172
|
+
: lt === "float" || rt === "float"
|
|
173
|
+
? "float"
|
|
174
|
+
: "int",
|
|
178
175
|
};
|
|
179
176
|
}
|
|
180
177
|
|