@silverbulletmd/silverbullet 2.5.3 → 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.
Files changed (90) hide show
  1. package/README.md +4 -5
  2. package/client/asset_bundle/bundle.ts +3 -9
  3. package/client/data/datastore.ts +4 -5
  4. package/client/markdown_parser/constants.ts +3 -2
  5. package/client/plugos/hooks/code_widget.ts +3 -5
  6. package/client/plugos/hooks/command.ts +8 -8
  7. package/client/plugos/hooks/document_editor.ts +10 -12
  8. package/client/plugos/hooks/event.ts +33 -36
  9. package/client/plugos/hooks/mq.ts +17 -17
  10. package/client/plugos/hooks/plug_namespace.ts +3 -5
  11. package/client/plugos/hooks/slash_command.ts +12 -27
  12. package/client/plugos/hooks/syscall.ts +3 -3
  13. package/client/plugos/manifest_cache.ts +22 -15
  14. package/client/plugos/plug.ts +2 -5
  15. package/client/plugos/plug_compile.ts +67 -65
  16. package/client/plugos/protocol.ts +28 -28
  17. package/client/plugos/proxy_fetch.ts +7 -6
  18. package/client/plugos/sandboxes/worker_sandbox.ts +16 -15
  19. package/client/plugos/syscalls/asset.ts +1 -3
  20. package/client/plugos/syscalls/code_widget.ts +1 -3
  21. package/client/plugos/syscalls/config.ts +1 -5
  22. package/client/plugos/syscalls/datastore.ts +1 -1
  23. package/client/plugos/syscalls/editor.ts +63 -60
  24. package/client/plugos/syscalls/event.ts +9 -12
  25. package/client/plugos/syscalls/fetch.ts +30 -22
  26. package/client/plugos/syscalls/index.ts +10 -1
  27. package/client/plugos/syscalls/jsonschema.ts +72 -32
  28. package/client/plugos/syscalls/language.ts +9 -5
  29. package/client/plugos/syscalls/markdown.ts +29 -7
  30. package/client/plugos/syscalls/mq.ts +3 -11
  31. package/client/plugos/syscalls/service_registry.ts +1 -4
  32. package/client/plugos/syscalls/shell.ts +2 -5
  33. package/client/plugos/syscalls/sync.ts +69 -60
  34. package/client/plugos/syscalls/system.ts +2 -3
  35. package/client/plugos/system.ts +4 -10
  36. package/client/plugos/worker_runtime.ts +4 -3
  37. package/client/space_lua/aggregates.ts +632 -59
  38. package/client/space_lua/ast.ts +21 -9
  39. package/client/space_lua/ast_narrow.ts +4 -2
  40. package/client/space_lua/eval.ts +842 -536
  41. package/client/space_lua/labels.ts +6 -11
  42. package/client/space_lua/liq_null.ts +6 -0
  43. package/client/space_lua/numeric.ts +5 -8
  44. package/client/space_lua/parse.ts +290 -169
  45. package/client/space_lua/query_collection.ts +213 -149
  46. package/client/space_lua/render_lua_markdown.ts +369 -0
  47. package/client/space_lua/rp.ts +5 -4
  48. package/client/space_lua/runtime.ts +245 -142
  49. package/client/space_lua/stdlib/format.ts +34 -20
  50. package/client/space_lua/stdlib/js.ts +3 -7
  51. package/client/space_lua/stdlib/load.ts +1 -3
  52. package/client/space_lua/stdlib/math.ts +15 -14
  53. package/client/space_lua/stdlib/net.ts +25 -15
  54. package/client/space_lua/stdlib/os.ts +76 -85
  55. package/client/space_lua/stdlib/pattern.ts +28 -35
  56. package/client/space_lua/stdlib/prng.ts +15 -12
  57. package/client/space_lua/stdlib/space_lua.ts +16 -17
  58. package/client/space_lua/stdlib/string.ts +7 -17
  59. package/client/space_lua/stdlib/string_pack.ts +23 -19
  60. package/client/space_lua/stdlib/table.ts +5 -9
  61. package/client/space_lua/stdlib.ts +20 -30
  62. package/client/space_lua/tonumber.ts +79 -40
  63. package/client/space_lua/util.ts +14 -10
  64. package/dist/plug-compile.js +44 -41
  65. package/package.json +24 -22
  66. package/plug-api/lib/async.ts +19 -6
  67. package/plug-api/lib/crypto.ts +5 -6
  68. package/plug-api/lib/dates.ts +15 -7
  69. package/plug-api/lib/json.ts +10 -4
  70. package/plug-api/lib/ref.ts +18 -18
  71. package/plug-api/lib/resolve.ts +7 -11
  72. package/plug-api/lib/tags.ts +13 -4
  73. package/plug-api/lib/transclusion.ts +6 -17
  74. package/plug-api/lib/tree.ts +115 -43
  75. package/plug-api/lib/yaml.ts +25 -15
  76. package/plug-api/syscalls/asset.ts +1 -1
  77. package/plug-api/syscalls/config.ts +1 -4
  78. package/plug-api/syscalls/editor.ts +14 -14
  79. package/plug-api/syscalls/jsonschema.ts +1 -3
  80. package/plug-api/syscalls/lua.ts +3 -9
  81. package/plug-api/syscalls/mq.ts +1 -4
  82. package/plug-api/syscalls/shell.ts +4 -1
  83. package/plug-api/syscalls/space.ts +3 -10
  84. package/plug-api/syscalls/system.ts +1 -4
  85. package/plug-api/syscalls/yaml.ts +2 -6
  86. package/plug-api/types/client.ts +16 -1
  87. package/plug-api/types/event.ts +6 -4
  88. package/plug-api/types/manifest.ts +8 -9
  89. package/plugs/builtin_plugs.ts +2 -2
  90. package/dist/worker_runtime_bundle.js +0 -233
@@ -27,7 +27,10 @@ type FunctionMeta = {
27
27
  };
28
28
 
29
29
  class LabelResolveError extends Error {
30
- constructor(msg: string, public astCtx: ASTCtx) {
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);
@@ -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
  }
@@ -0,0 +1,6 @@
1
+ // Sentinel value representing SQL NULL in query results.
2
+ export const LIQ_NULL = Symbol.for("silverbullet.sqlNull");
3
+
4
+ export function isSqlNull(v: any): boolean {
5
+ return v === LIQ_NULL;
6
+ }
@@ -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
- : ((lt === "float" || rt === "float") ? "float" : "int"),
172
+ : lt === "float" || rt === "float"
173
+ ? "float"
174
+ : "int",
178
175
  };
179
176
  }
180
177