@kvman/kernel 0.4.2 → 0.4.4

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 (59) hide show
  1. package/dist/ctx/extension-ctx.d.ts +2 -2
  2. package/dist/ctx/extension-ctx.d.ts.map +1 -1
  3. package/dist/ctx/extension-ctx.js +2 -2
  4. package/dist/ctx/extension-ctx.js.map +1 -1
  5. package/dist/extensions/trust.js +1 -1
  6. package/dist/extensions/trust.js.map +1 -1
  7. package/dist/jobs/dispatcher.d.ts +2 -1
  8. package/dist/jobs/dispatcher.d.ts.map +1 -1
  9. package/dist/jobs/dispatcher.js +50 -12
  10. package/dist/jobs/dispatcher.js.map +1 -1
  11. package/dist/jobs/job-rows.js +1 -1
  12. package/dist/jobs/job-rows.js.map +1 -1
  13. package/dist/kernel.d.ts.map +1 -1
  14. package/dist/kernel.js +4 -2
  15. package/dist/kernel.js.map +1 -1
  16. package/dist/reload/folder-tree.d.ts +15 -0
  17. package/dist/reload/folder-tree.d.ts.map +1 -0
  18. package/dist/reload/folder-tree.js +61 -0
  19. package/dist/reload/folder-tree.js.map +1 -0
  20. package/dist/reload/watcher.d.ts +6 -1
  21. package/dist/reload/watcher.d.ts.map +1 -1
  22. package/dist/reload/watcher.js +14 -20
  23. package/dist/reload/watcher.js.map +1 -1
  24. package/dist/run/extension-run.d.ts +5 -0
  25. package/dist/run/extension-run.d.ts.map +1 -1
  26. package/dist/run/extension-run.js +21 -1
  27. package/dist/run/extension-run.js.map +1 -1
  28. package/dist/storage/database.d.ts +2 -0
  29. package/dist/storage/database.d.ts.map +1 -1
  30. package/dist/storage/database.js +4 -0
  31. package/dist/storage/database.js.map +1 -1
  32. package/dist/store/collections.d.ts +1 -1
  33. package/dist/store/collections.d.ts.map +1 -1
  34. package/dist/store/collections.js +17 -5
  35. package/dist/store/collections.js.map +1 -1
  36. package/dist/store/filters.d.ts +1 -0
  37. package/dist/store/filters.d.ts.map +1 -1
  38. package/dist/store/filters.js +9 -10
  39. package/dist/store/filters.js.map +1 -1
  40. package/dist/store/indexes.d.ts +29 -0
  41. package/dist/store/indexes.d.ts.map +1 -0
  42. package/dist/store/indexes.js +58 -0
  43. package/dist/store/indexes.js.map +1 -0
  44. package/dist/store/store.d.ts +2 -1
  45. package/dist/store/store.d.ts.map +1 -1
  46. package/dist/store/store.js +6 -6
  47. package/dist/store/store.js.map +1 -1
  48. package/dist/workers/pool.d.ts.map +1 -1
  49. package/dist/workers/pool.js +9 -9
  50. package/dist/workers/pool.js.map +1 -1
  51. package/dist/workers/protocol.d.ts +1 -0
  52. package/dist/workers/protocol.d.ts.map +1 -1
  53. package/dist/workers/protocol.js +2 -2
  54. package/dist/workers/protocol.js.map +1 -1
  55. package/dist/workers/worker-main.js +1 -1
  56. package/dist/workers/worker-main.js.map +1 -1
  57. package/dist/workspaces/workspaces.js +2 -2
  58. package/dist/workspaces/workspaces.js.map +1 -1
  59. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { type Ctx, type Json } from '@kvman/sdk';
1
+ import { type Ctx, type Json, type StoreIndexes } from '@kvman/sdk';
2
2
  import type { Files } from '../files/files.ts';
3
3
  import type { KernelLogger } from '../logging/logger.ts';
4
4
  import type { SecretsFile } from '../secrets/secrets-file.ts';
@@ -18,5 +18,5 @@ export type WorkerServices = JobCallServices & {
18
18
  data: Json;
19
19
  }) => void;
20
20
  };
21
- export declare function createExtensionCtx(owner: Owner, services: WorkerServices): Ctx;
21
+ export declare function createExtensionCtx(owner: Owner, services: WorkerServices, indexes: StoreIndexes): Ctx;
22
22
  //# sourceMappingURL=extension-ctx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-ctx.d.ts","sourceRoot":"","sources":["../../src/ctx/extension-ctx.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,GAAG,EAAmB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAC/G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAK/E,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMhE,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/E,CAAC;AA+CF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,GAAG,GAAG,CAuB9E"}
1
+ {"version":3,"file":"extension-ctx.d.ts","sourceRoot":"","sources":["../../src/ctx/extension-ctx.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,GAAG,EAAmB,KAAK,IAAI,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAClI,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAK/E,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMhE,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/E,CAAC;AA+CF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,GAAG,CAuBrG"}
@@ -51,7 +51,7 @@ function secretsOf(owner, services) {
51
51
  delete: (name) => write('ctx.secrets.delete', { kind: 'write-secret', write: { action: 'delete', extension: owner.name, name } }),
52
52
  };
53
53
  }
54
- export function createExtensionCtx(owner, services) {
54
+ export function createExtensionCtx(owner, services, indexes) {
55
55
  const registry = services.environment.registry;
56
56
  return {
57
57
  registerCommand: (name, registration) => registerJob(registry, owner, 'command', name, registration),
@@ -66,7 +66,7 @@ export function createExtensionCtx(owner, services) {
66
66
  },
67
67
  get store() {
68
68
  const job = requireJob('ctx.store');
69
- return createStore(services.connection, { extension: owner.name, workspaceId: job.workspace.id }, services.ids, () => requireWritable(job, 'A store write'));
69
+ return createStore(services.connection, { extension: owner.name, workspaceId: job.workspace.id, indexes }, services.ids, () => requireWritable(job, 'A store write'));
70
70
  },
71
71
  files: filesCalls(owner, services.files),
72
72
  settings: settingsCalls(owner, registry, services.settings),
@@ -1 +1 @@
1
- {"version":3,"file":"extension-ctx.js","sourceRoot":"","sources":["../../src/ctx/extension-ctx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-ctx.js","sourceRoot":"","sources":["../../src/ctx/extension-ctx.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,6 @@ export async function checkTrust(connection, clock, extensions, decide) {
22
22
  connection.transaction(() => {
23
23
  for (const version of unaccepted)
24
24
  insert.run(version.name, version.version, version.source, acceptedAt);
25
- })();
25
+ }).immediate();
26
26
  }
27
27
  //# sourceMappingURL=trust.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/extensions/trust.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAY/C,SAAS,SAAS,CAAC,SAAwB;IACzC,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;IACpG,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,UAAU,CAAC,UAAsB,EAAE,OAAyB;IACnE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAA6C,oFAAoF,CAAC,CAAC;IACjK,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAsB,EAAE,KAAY,EAAE,UAAoC,EAAE,MAAqB;IAChI,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACvI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrG,MAAM,aAAa,CAAC,mBAAmB,EAAE,8CAA8C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,iHAAiH,CAAC,CAAC;IACrJ,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1B,KAAK,MAAM,OAAO,IAAI,UAAU;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1G,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/extensions/trust.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAY/C,SAAS,SAAS,CAAC,SAAwB;IACzC,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;IACpG,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,UAAU,CAAC,UAAsB,EAAE,OAAyB;IACnE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAA6C,oFAAoF,CAAC,CAAC;IACjK,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAsB,EAAE,KAAY,EAAE,UAAoC,EAAE,MAAqB;IAChI,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACvI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrG,MAAM,aAAa,CAAC,mBAAmB,EAAE,8CAA8C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,iHAAiH,CAAC,CAAC;IACrJ,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1B,KAAK,MAAM,OAAO,IAAI,UAAU;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACjB,CAAC"}
@@ -2,11 +2,12 @@ import { type Job, type Workspace } from '@kvman/sdk';
2
2
  import type { Clock } from '../clock.ts';
3
3
  import type { KernelLogger } from '../logging/logger.ts';
4
4
  import type { ScheduleRows } from '../schedules/schedule-rows.ts';
5
- import type { Connection } from '../storage/database.ts';
5
+ import { type Connection } from '../storage/database.ts';
6
6
  import type { SyncEnd } from '../workers/protocol.ts';
7
7
  import type { WorkerPool } from '../workers/pool.ts';
8
8
  import type { HandlerSummary } from './handlers.ts';
9
9
  import type { JobRows, NewJob } from './job-rows.ts';
10
+ export declare const busyRetryMs = 1000;
10
11
  export type DispatcherMode = 'running' | 'stopping' | 'stopped';
11
12
  export type DispatcherOptions = {
12
13
  connection: Connection;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/jobs/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,GAAG,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAc,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOjE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;CACxC,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG7D,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnG,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB;mBA2GxC,UAAU,aAAa,SAAS,cAAc,EAAE,GAAG,IAAI;gBAjBvD,IAAI;iBAsBN,IAAI;kBAGH,cAAc,GAAG,IAAI;eAQxB,MAAM,GAAG,MAAM;yBAOL,MAAM,GAAG,MAAM;mBAKrB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,MAAM,GAAG,MAAM,EAAE;qBAKpE,MAAM,aAAa,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,MAAM,GAAG,MAAM,EAAE;iBAM7F,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,GAAG,MAAM;wBAK9C,OAAO,GAAG,IAAI;0BAKZ,IAAI;sBAIR,MAAM,GAAG,IAAI;kBAGjB,MAAM,GAAG,IAAI;iCAWQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;mBAK1C,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;eAMzB,OAAO,CAAC,IAAI,CAAC;eAKb,MAAM;mBAGE,OAAO,CAAC,IAAI,CAAC;EAInC"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/jobs/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,GAAG,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAc,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAQjE,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;CACxC,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG7D,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnG,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB;mBA0IxC,UAAU,aAAa,SAAS,cAAc,EAAE,GAAG,IAAI;gBAjBvD,IAAI;iBAsBN,IAAI;kBAGH,cAAc,GAAG,IAAI;eAQxB,MAAM,GAAG,MAAM;yBAOL,MAAM,GAAG,MAAM;mBAKrB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,MAAM,GAAG,MAAM,EAAE;qBAKpE,MAAM,aAAa,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,MAAM,GAAG,MAAM,EAAE;iBAM7F,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,GAAG,MAAM;wBAK9C,OAAO,GAAG,IAAI;0BAKZ,IAAI;sBAIR,MAAM,GAAG,IAAI;kBAGjB,MAAM,GAAG,IAAI;iCAWQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;mBAK1C,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;eAMzB,OAAO,CAAC,IAAI,CAAC;eAKb,MAAM;mBAGE,OAAO,CAAC,IAAI,CAAC;EAInC"}
@@ -1,6 +1,12 @@
1
1
  import { ProblemError } from '@kvman/sdk';
2
2
  import { kernelProblem } from "../problems.js";
3
+ import { isBusy } from "../storage/database.js";
3
4
  import { backoffMs, isRetried } from "./retry-policy.js";
5
+ // The main thread's loop over async and scheduled jobs (plan 02 §2.1, §2.3, §2.4, §2.15): it queues due schedules,
6
+ // starts due jobs first-in, first-out while the pool has room, records each attempt's end, retries with backoff, and
7
+ // queues the kernel's handler jobs in the transaction that records the end. Its transactions begin IMMEDIATE, and a
8
+ // database still locked after the busy timeout is tried again 1 s later (ADR 0085, 6).
9
+ export const busyRetryMs = 1000;
4
10
  export function createDispatcher(options) {
5
11
  const { connection, rows, schedules, clock } = options;
6
12
  let pool;
@@ -45,9 +51,27 @@ export function createDispatcher(options) {
45
51
  rows.fail(job.id, outcome.problem);
46
52
  deliverFor('kernel.job.failed', { problem: outcome.problem, attempts: job.attempts });
47
53
  }
48
- })();
54
+ }).immediate();
49
55
  ended(job.id);
50
56
  };
57
+ const reportBusy = (error) => {
58
+ options.logger.error("The job loop couldn't write to the database; it tries again in 1 s.", { code: error.code });
59
+ };
60
+ // An end that can't be written yet keeps its outcome and is written on a later try.
61
+ const recordWhenFree = (job, outcome) => {
62
+ try {
63
+ record(job, outcome);
64
+ return Promise.resolve();
65
+ }
66
+ catch (error) {
67
+ if (!isBusy(error))
68
+ throw error;
69
+ reportBusy(error);
70
+ return new Promise((resolve, reject) => {
71
+ clock.setTimer(busyRetryMs, () => recordWhenFree(job, outcome).then(resolve, reject));
72
+ });
73
+ }
74
+ };
51
75
  const dispatch = (active, job) => {
52
76
  const run = async () => {
53
77
  try {
@@ -61,8 +85,9 @@ export function createDispatcher(options) {
61
85
  throw error;
62
86
  }
63
87
  };
64
- attempts.set(job.id, run().then((outcome) => {
65
- record(job, outcome);
88
+ attempts.set(job.id, run()
89
+ .then((outcome) => recordWhenFree(job, outcome))
90
+ .then(() => {
66
91
  attempts.delete(job.id);
67
92
  tick();
68
93
  }));
@@ -87,13 +112,10 @@ export function createDispatcher(options) {
87
112
  if (due !== undefined && due > clock.now() && mode !== 'stopped')
88
113
  timer = clock.setTimer(due - clock.now(), tick);
89
114
  };
90
- const tick = () => {
91
- const active = pool;
92
- if (active === undefined || mode === 'stopped')
93
- return;
115
+ const startDue = (active) => {
94
116
  const scheduleDue = schedules.earliestNextRun();
95
117
  if (mode === 'running' && scheduleDue !== undefined && scheduleDue <= clock.now()) {
96
- connection.transaction(() => schedules.queueDue((job) => rows.insert(job)))();
118
+ connection.transaction(() => schedules.queueDue((job) => rows.insert(job))).immediate();
97
119
  }
98
120
  const free = active.freeSlots();
99
121
  const claimed = free > 0 ? rows.claimDue(free, mode === 'stopping' ? 'kernel.stopping' : undefined) : [];
@@ -101,6 +123,22 @@ export function createDispatcher(options) {
101
123
  dispatch(active, job);
102
124
  const due = rows.earliestRunAt();
103
125
  waitingForSlot = claimed.length === free && due !== undefined && due <= clock.now();
126
+ };
127
+ const tick = () => {
128
+ const active = pool;
129
+ if (active === undefined || mode === 'stopped')
130
+ return;
131
+ try {
132
+ startDue(active);
133
+ }
134
+ catch (error) {
135
+ if (!isBusy(error))
136
+ throw error;
137
+ reportBusy(error);
138
+ timer?.();
139
+ timer = clock.setTimer(busyRetryMs, tick);
140
+ return;
141
+ }
104
142
  arm();
105
143
  checkSettled();
106
144
  };
@@ -135,23 +173,23 @@ export function createDispatcher(options) {
135
173
  return id;
136
174
  },
137
175
  deliver(point, input, workspaceId) {
138
- const ids = connection.transaction(() => deliver(point, input, workspaceId))();
176
+ const ids = connection.transaction(() => deliver(point, input, workspaceId)).immediate();
139
177
  tick();
140
178
  return ids;
141
179
  },
142
180
  deliverTo(point, extension, input, workspaceId) {
143
- const ids = connection.transaction(() => deliver(point, input, workspaceId, extension))();
181
+ const ids = connection.transaction(() => deliver(point, input, workspaceId, extension)).immediate();
144
182
  tick();
145
183
  return ids;
146
184
  },
147
185
  // Runs `work` in one transaction with the handler jobs it delivers, then starts what is due.
148
186
  deliverAlong(work) {
149
- const result = connection.transaction(() => work((point, input, workspaceId) => void deliver(point, input, workspaceId)))();
187
+ const result = connection.transaction(() => work((point, input, workspaceId) => void deliver(point, input, workspaceId))).immediate();
150
188
  tick();
151
189
  return result;
152
190
  },
153
191
  deliverSyncEnd(end) {
154
- connection.transaction(() => deliver(end.point, end.input, end.workspaceId))();
192
+ connection.transaction(() => deliver(end.point, end.input, end.workspaceId)).immediate();
155
193
  tick();
156
194
  },
157
195
  // Attempts left running by a stop or a crash end INTERRUPTED, and are retried like any failure (plan 02 §2.3).
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/jobs/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/jobs/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ export function createJobRows(connection, clock, ids, closedWorkspaces) {
79
79
  connection.transaction(() => {
80
80
  for (const row of rows)
81
81
  start.run(now, row.id);
82
- })();
82
+ }).immediate();
83
83
  return rows.map((row) => claimedOfRow({ ...row, attempts: row.attempts + 1 }));
84
84
  },
85
85
  succeed: (id, output) => end(id, 'succeeded', output, undefined),
@@ -1 +1 @@
1
- {"version":3,"file":"job-rows.js","sourceRoot":"","sources":["../../src/jobs/job-rows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-rows.js","sourceRoot":"","sources":["../../src/jobs/job-rows.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,MAAM,EAAE,KAAK,GAAG,EAAa,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAiC,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAIvE,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI/E,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAyC,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAEjG,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAgBnE,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,WAAW,EAAE,OAAO,CAAC;IAErB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACnF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,GAAG,EAAE,SAAS,CAAC;IACf,cAAc,EAAE,SAAS,CAAC;IAE1B,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAYF,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAsHzE"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,MAAM,EAAE,KAAK,GAAG,EAAa,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAiC,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAIvE,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI/E,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAyC,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAEjG,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAiBnE,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,WAAW,EAAE,OAAO,CAAC;IAErB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACnF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,GAAG,EAAE,SAAS,CAAC;IACf,cAAc,EAAE,SAAS,CAAC;IAE1B,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAYF,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAuHzE"}
package/dist/kernel.js CHANGED
@@ -1,4 +1,4 @@
1
- import { mkdirSync } from 'node:fs';
1
+ import { mkdirSync, watch } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { z } from '@kvman/sdk';
4
4
  import { systemClock } from "./clock.js";
@@ -27,6 +27,7 @@ import { openSecretsFile } from "./secrets/secrets-file.js";
27
27
  import { kernelSettingDefinitions } from "./settings/kernel-settings.js";
28
28
  import { createSettings } from "./settings/settings.js";
29
29
  import { openDatabase } from "./storage/database.js";
30
+ import { createIndexes, dropOtherIndexes } from "./store/indexes.js";
30
31
  import { keepWasmCode } from "./wasm-code-gc.js";
31
32
  import { createWorkspaces, homeWorkspaceId, openWorkspaceOf } from "./workspaces/workspaces.js";
32
33
  const hourMs = 60 * 60 * 1000;
@@ -98,6 +99,7 @@ export async function startKernel(options) {
98
99
  sdkVersion: kernelSdkVersion(),
99
100
  kernelCatalogs,
100
101
  logger,
102
+ indexes: { create: (indexes) => createIndexes(connection, indexes), dropOthers: (indexes) => dropOtherIndexes(connection, indexes) },
101
103
  pool: {
102
104
  size: settings.workers,
103
105
  concurrency: settings.concurrency,
@@ -123,7 +125,7 @@ export async function startKernel(options) {
123
125
  const startWorkspace = dispatcher.deliverAlong((deliverIn) => workspaces.open(options.startFolder, (workspaceId) => deliverIn('kernel.workspace.opened', { workspaceId }, workspaceId)));
124
126
  const started = run.pool().summary.handlers.filter((handler) => handler.point === 'kernel.started').map((handler) => handler.extension);
125
127
  await runStartedHandlers(dispatcher, logger, run.extensions().map((extension) => extension.name), started);
126
- watcher = watchExtensions(run.folders(), logger, (changed) => reloadExtensions(run, dispatcher, logger, changed, stopping.signal));
128
+ watcher = watchExtensions(run.folders(), logger, (changed) => reloadExtensions(run, dispatcher, logger, changed, stopping.signal), { platform: process.platform, watch });
127
129
  const activeWatcher = watcher;
128
130
  return {
129
131
  exec: async (name, input, { caller, workspaceId, jobId }) => run.pool().run({ id: jobId ?? ids(), name, input, workspace: workspace(workspaceId), caller, async: false, fromHandler: false }),
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type Watcher = {
2
+ close(): void;
3
+ on(event: 'error', listener: (error: Error) => void): unknown;
4
+ };
5
+ export type WatchFolder = (folder: string, options: {
6
+ recursive: boolean;
7
+ }, listener: (event: string, filename: string | null) => void) => Watcher;
8
+ export type FolderTree = {
9
+ close(): void;
10
+ };
11
+ export declare const isSkipped: (name: string) => boolean;
12
+ /** Whether a path relative to the watched folder lies in, or is, a skipped folder. */
13
+ export declare function insideSkipped(relative: string): boolean;
14
+ export declare function watchFolderTree(root: string, platform: NodeJS.Platform, watch: WatchFolder, changed: () => void, failed: (error: Error) => void): FolderTree;
15
+ //# sourceMappingURL=folder-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-tree.d.ts","sourceRoot":"","sources":["../../src/reload/folder-tree.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,OAAO,GAAG;IAAE,KAAK,IAAI,IAAI,CAAC;IAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAA;CAAE,CAAC;AACvG,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,KAAK,OAAO,CAAC;AACnJ,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,IAAI,IAAI,CAAA;CAAE,CAAC;AAE3C,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,OAA0D,CAAC;AAEpG,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AA8CD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,UAAU,CAE5J"}
@@ -0,0 +1,61 @@
1
+ import { readdirSync, statSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ export const isSkipped = (name) => name === 'node_modules' || name.startsWith('.');
4
+ /** Whether a path relative to the watched folder lies in, or is, a skipped folder. */
5
+ export function insideSkipped(relative) {
6
+ return relative.split(/[\\/]/).some(isSkipped);
7
+ }
8
+ const isFolder = (target) => statSync(target, { throwIfNoEntry: false })?.isDirectory() === true;
9
+ // One watch per folder: a folder that appears is watched, and one that goes away is dropped with the folders below it.
10
+ function watchEachFolder(root, watch, changed, failed) {
11
+ const watchers = new Map();
12
+ const drop = (folder) => {
13
+ for (const [watched, watcher] of watchers) {
14
+ if (watched !== folder && !watched.startsWith(`${folder}${path.sep}`))
15
+ continue;
16
+ watcher.close();
17
+ watchers.delete(watched);
18
+ }
19
+ };
20
+ const seen = (folder, filename) => {
21
+ if (filename !== null) {
22
+ if (isSkipped(filename))
23
+ return;
24
+ const target = path.join(folder, filename);
25
+ if (isFolder(target))
26
+ add(target);
27
+ else
28
+ drop(target);
29
+ }
30
+ changed();
31
+ };
32
+ const add = (folder) => {
33
+ if (watchers.has(folder))
34
+ return;
35
+ try {
36
+ const watcher = watch(folder, { recursive: false }, (_event, filename) => seen(folder, filename));
37
+ watcher.on('error', failed);
38
+ watchers.set(folder, watcher);
39
+ for (const entry of readdirSync(folder, { withFileTypes: true }))
40
+ if (entry.isDirectory() && !isSkipped(entry.name))
41
+ add(path.join(folder, entry.name));
42
+ }
43
+ catch (error) {
44
+ failed(error instanceof Error ? error : new Error(String(error)));
45
+ }
46
+ };
47
+ add(root);
48
+ return { close: () => drop(root) };
49
+ }
50
+ function watchRecursively(root, watch, changed, failed) {
51
+ const watcher = watch(root, { recursive: true }, (_event, filename) => {
52
+ if (filename === null || !insideSkipped(filename))
53
+ changed();
54
+ });
55
+ watcher.on('error', failed);
56
+ return { close: () => watcher.close() };
57
+ }
58
+ export function watchFolderTree(root, platform, watch, changed, failed) {
59
+ return platform === 'linux' ? watchEachFolder(root, watch, changed, failed) : watchRecursively(root, watch, changed, failed);
60
+ }
61
+ //# sourceMappingURL=folder-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-tree.js","sourceRoot":"","sources":["../../src/reload/folder-tree.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
1
  import type { KernelLogger } from '../logging/logger.ts';
2
+ import { type WatchFolder } from './folder-tree.ts';
2
3
  export declare const reloadQuietMs = 200;
3
4
  export type ExtensionWatcher = {
4
5
  close(): Promise<void>;
5
6
  };
6
- export declare function watchExtensions(folders: ReadonlyMap<string, string>, logger: KernelLogger, reload: (changed: ReadonlySet<string>) => Promise<void>): ExtensionWatcher;
7
+ export type WatchSystem = {
8
+ platform: NodeJS.Platform;
9
+ watch: WatchFolder;
10
+ };
11
+ export declare function watchExtensions(folders: ReadonlyMap<string, string>, logger: KernelLogger, reload: (changed: ReadonlySet<string>) => Promise<void>, system: WatchSystem): ExtensionWatcher;
7
12
  //# sourceMappingURL=watcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/reload/watcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKzD,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAM1D,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CA6BrK"}
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/reload/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMrE,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5E,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAiC1L"}
@@ -1,11 +1,9 @@
1
- import { watch } from 'node:fs';
2
- // Watches the folders of `path:` extensions (plan 02 §2.9, ADR 0009, 26): events are batched until 200 ms pass without
3
- // one (real time: they are the file system's), `node_modules` is ignored, and one reload runs at a time.
1
+ import { watchFolderTree } from "./folder-tree.js";
2
+ // Watches the folders of `path:` extensions (plan 02 §2.9, ADR 0009, 26; ADR 0085, 8): events are batched until 200 ms
3
+ // pass without one (real time: they are the file system's), `node_modules`, `.git`, and dot-folders are skipped, and one
4
+ // reload runs at a time.
4
5
  export const reloadQuietMs = 200;
5
- function insideNodeModules(filename) {
6
- return filename !== null && filename.split(/[\\/]/).includes('node_modules');
7
- }
8
- export function watchExtensions(folders, logger, reload) {
6
+ export function watchExtensions(folders, logger, reload, system) {
9
7
  const pending = new Set();
10
8
  let timer;
11
9
  let reloading = Promise.resolve();
@@ -16,23 +14,19 @@ export function watchExtensions(folders, logger, reload) {
16
14
  pending.clear();
17
15
  reloading = reloading.then(() => (closed ? undefined : reload(changed)));
18
16
  };
19
- const watchers = [...folders].map(([name, folder]) => {
20
- const watcher = watch(folder, { recursive: true }, (_event, filename) => {
21
- if (closed || insideNodeModules(filename))
22
- return;
23
- pending.add(name);
24
- clearTimeout(timer);
25
- timer = setTimeout(flush, reloadQuietMs);
26
- });
27
- watcher.on('error', (error) => logger.warn('An extension folder can no longer be watched.', { extension: name, reason: error.message }));
28
- return watcher;
29
- });
17
+ const trees = [...folders].map(([name, folder]) => watchFolderTree(folder, system.platform, system.watch, () => {
18
+ if (closed)
19
+ return;
20
+ pending.add(name);
21
+ clearTimeout(timer);
22
+ timer = setTimeout(flush, reloadQuietMs);
23
+ }, (error) => logger.warn('An extension folder can no longer be watched.', { extension: name, reason: error.message })));
30
24
  return {
31
25
  close: async () => {
32
26
  closed = true;
33
27
  clearTimeout(timer);
34
- for (const watcher of watchers)
35
- watcher.close();
28
+ for (const tree of trees)
29
+ tree.close();
36
30
  await reloading;
37
31
  },
38
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/reload/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,uHAAuH;AACvH,yGAAyG;AAEzG,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAIjC,SAAS,iBAAiB,CAAC,QAAuB;IAChD,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoC,EAAE,MAAoB,EAAE,MAAuD;IACjJ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,KAAiC,CAAC;IACtC,IAAI,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACjD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,KAAK,GAAG,SAAS,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACtE,IAAI,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC;gBAAE,OAAO;YAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzI,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,GAAG,IAAI,CAAC;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,MAAM,OAAO,IAAI,QAAQ;gBAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,SAAS,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/reload/watcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAErE,uHAAuH;AACvH,yHAAyH;AACzH,yBAAyB;AAEzB,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAKjC,MAAM,UAAU,eAAe,CAAC,OAAoC,EAAE,MAAoB,EAAE,MAAuD,EAAE,MAAmB;IACtK,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,KAAiC,CAAC;IACtC,IAAI,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACjD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,KAAK,GAAG,SAAS,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAChD,eAAe,CACb,MAAM,EACN,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,EACZ,GAAG,EAAE;QACH,IAAI,MAAM;YAAE,OAAO;QACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CACpH,CACF,CAAC;IACF,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,GAAG,IAAI,CAAC;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,SAAS,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -2,6 +2,7 @@ import type { Preset } from '@kvman/sdk';
2
2
  import { type ExtensionFolders, type ReadExtension } from '../extensions/manifests.ts';
3
3
  import { type Catalogs, type OwnerCatalogs } from '../localization/catalogs.ts';
4
4
  import type { KernelLogger } from '../logging/logger.ts';
5
+ import { type StoreIndex } from '../store/indexes.ts';
5
6
  import { type PoolOptions, type WorkerPool } from '../workers/pool.ts';
6
7
  import type { AbortReason } from '../workers/protocol.ts';
7
8
  export type RunExtension = ReadExtension & {
@@ -16,6 +17,10 @@ export type ExtensionRunOptions = {
16
17
  pool: Omit<PoolOptions, 'setup'> & {
17
18
  setup: Omit<PoolOptions['setup'], 'extensions' | 'languages'>;
18
19
  };
20
+ indexes: {
21
+ create(indexes: readonly StoreIndex[]): void;
22
+ dropOthers(indexes: readonly StoreIndex[]): void;
23
+ };
19
24
  logger: KernelLogger;
20
25
  };
21
26
  export type Reload = {