@owlmeans/client-planning 0.1.18-rc.2 → 0.1.18-rc.21

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 (71) hide show
  1. package/README.md +2 -2
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/client-planning/SKILL.md +39 -16
  4. package/build/client.d.ts.map +1 -1
  5. package/build/client.js +7 -0
  6. package/build/client.js.map +1 -1
  7. package/build/commits.d.ts +1 -1
  8. package/build/commits.d.ts.map +1 -1
  9. package/build/commits.js +9 -7
  10. package/build/commits.js.map +1 -1
  11. package/build/consts.d.ts +0 -12
  12. package/build/consts.d.ts.map +1 -1
  13. package/build/consts.js +0 -14
  14. package/build/consts.js.map +1 -1
  15. package/build/definitions.d.ts +13 -0
  16. package/build/definitions.d.ts.map +1 -0
  17. package/build/definitions.js +64 -0
  18. package/build/definitions.js.map +1 -0
  19. package/build/events.d.ts +1 -1
  20. package/build/events.d.ts.map +1 -1
  21. package/build/events.js +9 -9
  22. package/build/events.js.map +1 -1
  23. package/build/facade.d.ts.map +1 -1
  24. package/build/facade.js +13 -2
  25. package/build/facade.js.map +1 -1
  26. package/build/feed.d.ts.map +1 -1
  27. package/build/feed.js +5 -3
  28. package/build/feed.js.map +1 -1
  29. package/build/index.d.ts +2 -0
  30. package/build/index.d.ts.map +1 -1
  31. package/build/index.js +2 -0
  32. package/build/index.js.map +1 -1
  33. package/build/stores.d.ts +1 -1
  34. package/build/stores.d.ts.map +1 -1
  35. package/build/stores.js +7 -7
  36. package/build/stores.js.map +1 -1
  37. package/build/types.d.ts +16 -1
  38. package/build/types.d.ts.map +1 -1
  39. package/build/types.local.d.ts +6 -0
  40. package/build/types.local.d.ts.map +1 -0
  41. package/build/types.local.js +2 -0
  42. package/build/types.local.js.map +1 -0
  43. package/build/utils/record.d.ts +26 -7
  44. package/build/utils/record.d.ts.map +1 -1
  45. package/build/utils/record.js +9 -7
  46. package/build/utils/record.js.map +1 -1
  47. package/build/utils/types.d.ts +3 -0
  48. package/build/utils/types.d.ts.map +1 -0
  49. package/build/utils/types.js +2 -0
  50. package/build/utils/types.js.map +1 -0
  51. package/build/utils.d.ts +13 -0
  52. package/build/utils.d.ts.map +1 -0
  53. package/build/utils.js +15 -0
  54. package/build/utils.js.map +1 -0
  55. package/package.json +17 -16
  56. package/src/client.ts +9 -0
  57. package/src/commits.ts +10 -17
  58. package/src/consts.ts +0 -21
  59. package/src/definitions.ts +88 -0
  60. package/src/events.ts +10 -11
  61. package/src/facade.ts +14 -2
  62. package/src/feed.ts +7 -5
  63. package/src/index.ts +2 -0
  64. package/src/stores.ts +8 -9
  65. package/src/types.local.ts +6 -0
  66. package/src/types.ts +20 -3
  67. package/src/utils/record.ts +11 -7
  68. package/src/utils/types.ts +3 -0
  69. package/src/utils.ts +20 -0
  70. package/tests/context.ts +14 -3
  71. package/tests/definitions.spec.ts +56 -0
@@ -1 +1 @@
1
- {"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EACvG,uBAAuB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,qBAAqB,EAC5F,mBAAmB,EAAE,OAAO,GAC7B,MAAM,oBAAoB,CAAA;AAK3B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAU,EAAE,SAA4B,EAAE,KAA6B,EAAE,IAAyB,EAClF,EAAE;IAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAExB,MAAM,SAAS,GAAG,CAAC,IAA2B,EAAqB,EAAE;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAA;QAC7B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAA;QACjE,CAAC;QAED,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,SAAS,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;gBAC1B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;gBAC/C,IAAI,KAAK,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;gBACrC,CAAC;gBACD,IAAI,KAAK,KAAK,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,IAAI,CAAA;gBAClB,CAAC;gBAED,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,sBAAsB,EAAE,CAAC,CAAA;YACzF,CAAC;SACF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAmB;QAC7B,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE;QAEnD,OAAO,EAAE,IAAI,CAAC,OAAO;QAErB,KAAK,EAAE;YACL,GAAG,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;YAE/F,IAAI,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;gBACf,IAAI,CAAC;oBACH,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACnC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;wBAClC,OAAO,IAAI,CAAA;oBACb,CAAC;oBACD,MAAM,CAAC,CAAA;gBACT,CAAC;YACH,CAAC;YAED,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBACtE,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO;aAC3C,CAAC;YAEF,KAAK,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;gBACnB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,CAAA;gBACvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;oBAChE,KAAK,EAAE,mBAAmB,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO;iBACpE,CAAC,CAAA;gBAEF,OAAO,MAAM,CAAC,KAAK,CAAA;YACrB,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBACvF,KAAK,EAAE,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;aAC1D,CAAC;SACH;QAED,cAAc,EAAE;YACd,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;oBAC1E,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO;iBAC/E,CAAC,CAAA;gBAEF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;YAChC,CAAC;YAED,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;gBAC1F,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO;aACxE,CAAC;YAEF,GAAG,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;YAE/F,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;oBACrE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO;iBAC/D,CAAC,CAAA;gBAEF,OAAO,MAAM,CAAC,KAAK,CAAA;YACrB,CAAC;SACF;QAED,aAAa,EAAE;YACb,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBACtE,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,OAAO;aAC/C,CAAC;SACH;QAED,WAAW,EAAE;YACX,GAAG,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACvE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO;aACpC,CAAC;YAEF,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;gBAClB,uFAAuF;gBACvF,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAA;gBAClE,CAAC;gBAED,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;oBAC/D,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO;iBACzE,CAAC,CAAA;YACJ,CAAC;SACF;QAED,OAAO;QAEP,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;YACnC,4FAA4F;YAC5F,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;YACvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;YAC9B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,WAAW,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;YAC1E,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,KAAK,EAAE,KAAK,EAAiC,IAAgB,EAA6B,EAAE;YAC1F,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC,CAAC,CAAC,IAAI,CAAA;YAElF,OAAO,OAAO,CAAI,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
1
+ {"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAMlE,OAAO,KAAK,EAAyB,YAAY,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAA;AAM7G;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WACtE,CAAC,SAAQ,mBAAmB,KACpC,YAsGF,CAAA"}
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAMlE,OAAO,KAAK,EAAyB,YAAY,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAA;AAQ7G;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WACtE,CAAC,SAAQ,mBAAmB,KACpC,YAsGF,CAAA"}
package/build/feed.js CHANGED
@@ -1,8 +1,10 @@
1
+ import { logger } from '@owlmeans/log';
1
2
  import { criteriaOf, PLANNING_SERVICE } from '@owlmeans/planning';
2
3
  import { applyCards, applyCommitEvent } from './events.js';
3
4
  import { planningStoresOf, syncCards, syncLinks } from './stores.js';
4
- import { clean } from './utils/record.js';
5
- const linkCriteriaOf = (query) => clean({ from: query.from, to: query.to, type: query.type });
5
+ import { recordHelper } from './utils/record.js';
6
+ const log = logger('client-planning');
7
+ const linkCriteriaOf = (query) => recordHelper.clean({ from: query.from, to: query.to, type: query.type });
6
8
  /**
7
9
  * Keep the state mirror current: subscribe to commits FIRST, then seed from the list, then fold
8
10
  * every frame — and, with `refresh`, re-seed on an interval as the authoritative backstop to a
@@ -86,7 +88,7 @@ export const makePlanningFeed = (context, opts = {}) => {
86
88
  await applyCommitEvent(stores, event, facade);
87
89
  }
88
90
  catch (e) {
89
- console.error('Planning feed apply error:', e);
91
+ log.warn('Planning feed apply failed', { card: event.card, error: e });
90
92
  }
91
93
  }, opts.filter);
92
94
  if (stopped) {
package/build/feed.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export type * from './types.js';
2
2
  export * from './consts.js';
3
+ export * from './utils.js';
3
4
  export * from './client.js';
4
5
  export * from './facade.js';
6
+ export * from './definitions.js';
5
7
  export * from './commits.js';
6
8
  export * from './stores.js';
7
9
  export * from './events.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAE/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAE/B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
package/build/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from './consts.js';
2
+ export * from './utils.js';
2
3
  export * from './client.js';
3
4
  export * from './facade.js';
5
+ export * from './definitions.js';
4
6
  export * from './commits.js';
5
7
  export * from './stores.js';
6
8
  export * from './events.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
package/build/stores.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { BasicConfig, BasicContext } from '@owlmeans/context';
2
2
  import type { Relationship, Workcard } from '@owlmeans/planning';
3
3
  import type { Criteria } from '@owlmeans/resource';
4
- import type { StateResourceAppend } from '@owlmeans/state';
4
+ import { type StateResourceAppend } from '@owlmeans/state';
5
5
  import type { PlanningStoreAliases, PlanningStores, SyncOptions, WithPlanningStores } from './types.js';
6
6
  /**
7
7
  * Register the planning state mirror: ONE card store for every kind, a link store and a commit
@@ -1 +1 @@
1
- {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAGvG;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WAC1E,CAAC,YAAY,OAAO,CAAC,oBAAoB,CAAC,KAClD,CAAC,GAAG,kBAAkB,GAAG,mBAgB3B,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,YAAa,YAAY,CAAC,GAAG,CAAC,KAAG,cAAc,GAAG,IAI9E,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,UACb,cAAc,CAAC,OAAO,CAAC,SAAS,QAAQ,EAAE,UAAU,QAAQ,CAAC,QAAQ,CAAC,SAAS,WAAW,KAChG,OAAO,CAAC,IAAI,CAKd,CAAA;AAED,4CAA4C;AAC5C,eAAO,MAAM,SAAS,UACb,cAAc,CAAC,OAAO,CAAC,SAAS,YAAY,EAAE,UAAU,QAAQ,CAAC,YAAY,CAAC,SAAS,WAAW,KACxG,OAAO,CAAC,IAAI,CAKd,CAAA"}
1
+ {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAGvG;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WAC1E,CAAC,YAAY,OAAO,CAAC,oBAAoB,CAAC,KAClD,CAAC,GAAG,kBAAkB,GAAG,mBAgB3B,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,YAAa,YAAY,CAAC,GAAG,CAAC,KAAG,cAAc,GAAG,IAI9E,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,UACb,cAAc,CAAC,OAAO,CAAC,SAAS,QAAQ,EAAE,UAAU,QAAQ,CAAC,QAAQ,CAAC,SAAS,WAAW,KAChG,OAAO,CAAC,IAAI,CAKd,CAAA;AAED,4CAA4C;AAC5C,eAAO,MAAM,SAAS,UACb,cAAc,CAAC,OAAO,CAAC,SAAS,YAAY,EAAE,UAAU,QAAQ,CAAC,YAAY,CAAC,SAAS,WAAW,KACxG,OAAO,CAAC,IAAI,CAKd,CAAA"}
package/build/stores.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { appendStateResource } from '@owlmeans/state';
2
- import { DEFAULT_STORE_ALIASES } from './consts.js';
3
- import { idsOf, putCard, putLink } from './utils/record.js';
2
+ import { DEFAULT_STORE_ALIASES } from './utils.js';
3
+ import { recordHelper } from './utils/record.js';
4
4
  /**
5
5
  * Register the planning state mirror: ONE card store for every kind, a link store and a commit
6
6
  * store, and `context.planningStores()`.
@@ -38,22 +38,22 @@ export const planningStoresOf = (context) => {
38
38
  * Unchanged cards are not rewritten, so a periodic re-seed wakes no subscriber.
39
39
  */
40
40
  export const syncCards = async (store, items, where, opts) => {
41
- await dropUnnamed(store, idsOf(items), where, opts);
41
+ await dropUnnamed(store, recordHelper.idsOf(items), where, opts);
42
42
  for (const item of items) {
43
- await putCard(store, item);
43
+ await recordHelper.putCard(store, item);
44
44
  }
45
45
  };
46
46
  /** {@link syncCards} for the link store. */
47
47
  export const syncLinks = async (store, items, where, opts) => {
48
- await dropUnnamed(store, idsOf(items), where, opts);
48
+ await dropUnnamed(store, recordHelper.idsOf(items), where, opts);
49
49
  for (const item of items) {
50
- await putLink(store, item);
50
+ await recordHelper.putLink(store, item);
51
51
  }
52
52
  };
53
53
  const dropUnnamed = async (store, named, where, opts) => {
54
54
  const keep = new Set([...named, ...(opts?.keep ?? [])]);
55
55
  const scoped = await store.list(where);
56
- const stale = idsOf(scoped.items).filter(id => !keep.has(id));
56
+ const stale = recordHelper.idsOf(scoped.items).filter(id => !keep.has(id));
57
57
  if (stale.length > 0) {
58
58
  await store.purge({ id: { $in: stale } });
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stores.js","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ClientConfig, ClientContext } from '@owlmeans/client-context';
2
2
  import type { LazyService } from '@owlmeans/context';
3
3
  import type { AbstractRequest, EntrypointProtocolDeclaration } from '@owlmeans/entrypoint';
4
- import type { CommitFilter, CommitSource, CommitState, PlanningFacade, PlanningProtocols, PlanningSchemaRegistry, PlanningScope, PlanningService, Relationship, RelationshipQuery, TransitionAction, Workcard, WorkcardKind, WorkcardQuery } from '@owlmeans/planning';
4
+ import type { CommitFilter, CommitSource, CommitState, PlanningDefinitions, PlanningFacade, PlanningProtocols, PlanningSchemaRegistry, PlanningScope, PlanningService, Relationship, RelationshipQuery, TransitionAction, Workcard, WorkcardKind, WorkcardQuery } from '@owlmeans/planning';
5
5
  import type { Criteria, ResourceRecord } from '@owlmeans/resource';
6
6
  import type { Connection } from '@owlmeans/socket';
7
7
  import type { StateAlias, StateResource } from '@owlmeans/state';
@@ -51,6 +51,19 @@ export interface PlanningClientService extends PlanningService, LazyService {
51
51
  }) => Promise<PlanningSchemaRegistry>;
52
52
  /** Release the shared commit socket. */
53
53
  close: () => Promise<void>;
54
+ /** Data-defined types and flows — present when the tree was declared with `definitions: true`. */
55
+ definitions?: RemoteDefinitions;
56
+ }
57
+ /** The client half of `PlanningDefinitions`: layers cached per project, dropped on any write. */
58
+ export interface RemoteDefinitions extends PlanningDefinitions {
59
+ /** Forget every cached layer — the next read asks the server. */
60
+ invalidate: () => void;
61
+ }
62
+ export interface RemoteDefinitionsOptions {
63
+ /** Milliseconds, for every definitions call. */
64
+ timeout?: number;
65
+ /** Called after every write (the service reloads its own bundle on the next `model()`). */
66
+ onWrite?: () => void;
54
67
  }
55
68
  export interface WithPlanningClient {
56
69
  planning: () => PlanningClientService;
@@ -77,6 +90,8 @@ export interface RemoteFacadeOptions {
77
90
  loadSchemas?: () => Promise<PlanningSchemaRegistry>;
78
91
  timeout?: number;
79
92
  stores?: () => PlanningStores | null;
93
+ /** The data-defined schema surface, shared by every facade of the service. */
94
+ definitions?: RemoteDefinitions;
80
95
  }
81
96
  /** One row per transition the client wrote or saw settle. */
82
97
  export interface PlanningCommitRecord extends ResourceRecord {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CommitEvent, CommitFilter } from '@owlmeans/planning';
2
+ export interface Subscription {
3
+ listener: (event: CommitEvent) => void | Promise<void>;
4
+ filter?: CommitFilter;
5
+ }
6
+ //# sourceMappingURL=types.local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEnE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.local.js","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":""}
@@ -3,7 +3,7 @@ import type { CommitState, Relationship, Workcard } from '@owlmeans/planning';
3
3
  import type { ResourceRecord } from '@owlmeans/resource';
4
4
  import type { StateResource } from '@owlmeans/state';
5
5
  /** Same content, whatever order the keys arrived in. */
6
- export declare const sameRecord: (left: unknown, right: unknown) => boolean;
6
+ declare const sameRecord: (left: unknown, right: unknown) => boolean;
7
7
  /**
8
8
  * Write one card unless the store already holds a NEWER fold of it.
9
9
  *
@@ -11,15 +11,34 @@ export declare const sameRecord: (left: unknown, right: unknown) => boolean;
11
11
  * commit landed must not undo that commit. The head only ever grows: a head this client allocated
12
12
  * (`applyReceipt`) stays until a fold catches up with it.
13
13
  */
14
- export declare const putCard: (store: StateResource<Workcard>, card: Workcard) => Promise<Workcard>;
15
- export declare const putLink: (store: StateResource<Relationship>, link: Relationship) => Promise<void>;
14
+ declare const putCard: (store: StateResource<Workcard>, card: Workcard) => Promise<Workcard>;
15
+ declare const putLink: (store: StateResource<Relationship>, link: Relationship) => Promise<void>;
16
16
  /** Drop a card, whatever lives under it when it is a project, and every link touching any of them. */
17
- export declare const dropCard: (stores: PlanningStores, id: string, project: boolean) => Promise<void>;
17
+ declare const dropCard: (stores: PlanningStores, id: string, project: boolean) => Promise<void>;
18
18
  /** Record what is known about a transition, merged over what was known before. */
19
- export declare const putCommit: (store: StateResource<PlanningCommitRecord>, record: Partial<PlanningCommitRecord> & {
19
+ declare const putCommit: (store: StateResource<PlanningCommitRecord>, record: Partial<PlanningCommitRecord> & {
20
20
  id: string;
21
21
  state: CommitState;
22
22
  }) => Promise<PlanningCommitRecord>;
23
- export declare const clean: <T extends object>(record: T) => T;
24
- export declare const idsOf: <T extends ResourceRecord>(records: T[]) => string[];
23
+ declare const clean: <T extends object>(record: T) => T;
24
+ declare const idsOf: <T extends ResourceRecord>(records: T[]) => string[];
25
+ export declare const createRecordHelper: () => {
26
+ sameRecord: typeof sameRecord;
27
+ putCard: typeof putCard;
28
+ putLink: typeof putLink;
29
+ dropCard: typeof dropCard;
30
+ putCommit: typeof putCommit;
31
+ clean: typeof clean;
32
+ idsOf: typeof idsOf;
33
+ };
34
+ export declare const recordHelper: {
35
+ sameRecord: typeof sameRecord;
36
+ putCard: typeof putCard;
37
+ putLink: typeof putLink;
38
+ dropCard: typeof dropCard;
39
+ putCommit: typeof putCommit;
40
+ clean: typeof clean;
41
+ idsOf: typeof idsOf;
42
+ };
43
+ export {};
25
44
  //# sourceMappingURL=record.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/utils/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAgBpD,wDAAwD;AACxD,eAAO,MAAM,UAAU,SAAU,OAAO,SAAS,OAAO,KAAG,OACK,CAAA;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,UAAiB,aAAa,CAAC,QAAQ,CAAC,QAAQ,QAAQ,KAAG,OAAO,CAAC,QAAQ,CAgB9F,CAAA;AAED,eAAO,MAAM,OAAO,UAAiB,aAAa,CAAC,YAAY,CAAC,QAAQ,YAAY,KAAG,OAAO,CAAC,IAAI,CASlG,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,QAAQ,WAAkB,cAAc,MAAM,MAAM,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAUjG,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,SAAS,UACb,aAAa,CAAC,oBAAoB,CAAC,UAAU,OAAO,CAAC,oBAAoB,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KACrH,OAAO,CAAC,oBAAoB,CAS9B,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,UAAU,CAAC,KAAG,CACwC,CAAA;AAE5F,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,cAAc,WAAW,CAAC,EAAE,KAAG,MAAM,EACM,CAAA"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/utils/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAgBpD,wDAAwD;AACxD,QAAA,MAAM,UAAU,SAAU,OAAO,SAAS,OAAO,KAAG,OACY,CAAA;AAEhE;;;;;;GAMG;AACH,QAAA,MAAM,OAAO,UAAiB,aAAa,CAAC,QAAQ,CAAC,QAAQ,QAAQ,KAAG,OAAO,CAAC,QAAQ,CAgBvF,CAAA;AAED,QAAA,MAAM,OAAO,UAAiB,aAAa,CAAC,YAAY,CAAC,QAAQ,YAAY,KAAG,OAAO,CAAC,IAAI,CAS3F,CAAA;AAED,sGAAsG;AACtG,QAAA,MAAM,QAAQ,WAAkB,cAAc,MAAM,MAAM,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAU1F,CAAA;AAED,kFAAkF;AAClF,QAAA,MAAM,SAAS,UACN,aAAa,CAAC,oBAAoB,CAAC,UAAU,OAAO,CAAC,oBAAoB,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KACrH,OAAO,CAAC,oBAAoB,CAS9B,CAAA;AAED,QAAA,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,UAAU,CAAC,KAAG,CAC+C,CAAA;AAE5F,QAAA,MAAM,KAAK,GAAI,CAAC,SAAS,cAAc,WAAW,CAAC,EAAE,KAAG,MAAM,EACa,CAAA;AAE3E,eAAO,MAAM,kBAAkB;;;;;;;;CAA8E,CAAA;AAE7G,eAAO,MAAM,YAAY;;;;;;;;CAAuB,CAAA"}
@@ -11,7 +11,7 @@ const stable = (value) => {
11
11
  return value;
12
12
  };
13
13
  /** Same content, whatever order the keys arrived in. */
14
- export const sameRecord = (left, right) => JSON.stringify(stable(left)) === JSON.stringify(stable(right));
14
+ const sameRecord = (left, right) => JSON.stringify(stable(left)) === JSON.stringify(stable(right));
15
15
  /**
16
16
  * Write one card unless the store already holds a NEWER fold of it.
17
17
  *
@@ -19,7 +19,7 @@ export const sameRecord = (left, right) => JSON.stringify(stable(left)) === JSON
19
19
  * commit landed must not undo that commit. The head only ever grows: a head this client allocated
20
20
  * (`applyReceipt`) stays until a fold catches up with it.
21
21
  */
22
- export const putCard = async (store, card) => {
22
+ const putCard = async (store, card) => {
23
23
  if (card.id == null) {
24
24
  return card;
25
25
  }
@@ -35,7 +35,7 @@ export const putCard = async (store, card) => {
35
35
  await store.save(next);
36
36
  return next;
37
37
  };
38
- export const putLink = async (store, link) => {
38
+ const putLink = async (store, link) => {
39
39
  if (link.id == null) {
40
40
  return;
41
41
  }
@@ -46,7 +46,7 @@ export const putLink = async (store, link) => {
46
46
  await store.save(link);
47
47
  };
48
48
  /** Drop a card, whatever lives under it when it is a project, and every link touching any of them. */
49
- export const dropCard = async (stores, id, project) => {
49
+ const dropCard = async (stores, id, project) => {
50
50
  const ids = [id];
51
51
  if (project) {
52
52
  const children = await stores.cards.list({ parents: { $contains: [id] } });
@@ -58,7 +58,7 @@ export const dropCard = async (stores, id, project) => {
58
58
  }
59
59
  };
60
60
  /** Record what is known about a transition, merged over what was known before. */
61
- export const putCommit = async (store, record) => {
61
+ const putCommit = async (store, record) => {
62
62
  const known = await store.load(record.id);
63
63
  const next = { ...known, ...clean(record) };
64
64
  if (known != null && sameRecord(known, next)) {
@@ -67,6 +67,8 @@ export const putCommit = async (store, record) => {
67
67
  await store.save(next);
68
68
  return next;
69
69
  };
70
- export const clean = (record) => Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
71
- export const idsOf = (records) => records.map(record => record.id).filter((id) => id != null);
70
+ const clean = (record) => Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
71
+ const idsOf = (records) => records.map(record => record.id).filter((id) => id != null);
72
+ export const createRecordHelper = () => ({ sameRecord, putCard, putLink, dropCard, putCommit, clean, idsOf });
73
+ export const recordHelper = createRecordHelper();
72
74
  //# sourceMappingURL=record.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/utils/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/utils/record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { createRecordHelper } from './record.js';
2
+ export type RecordHelper = ReturnType<typeof createRecordHelper>;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { type StateAlias } from '@owlmeans/state';
2
+ import type { Relationship, Workcard } from '@owlmeans/planning';
3
+ import type { PlanningCommitRecord, PlanningStoreAliases } from './types.js';
4
+ /**
5
+ * The ONE card store. Projects, cards and specifications share an id space on the server, so they
6
+ * share it here too — a store per kind would let a list reload of one kind drop another's rows.
7
+ */
8
+ export declare const CARDS: StateAlias<Workcard>;
9
+ export declare const LINKS: StateAlias<Relationship>;
10
+ /** What the client has learned about each transition it wrote or saw, keyed by transition id. */
11
+ export declare const COMMITS: StateAlias<PlanningCommitRecord>;
12
+ export declare const DEFAULT_STORE_ALIASES: Readonly<PlanningStoreAliases>;
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,UAAU,CAAC,QAAQ,CAA+C,CAAA;AAEtF,eAAO,MAAM,KAAK,EAAE,UAAU,CAAC,YAAY,CAAmD,CAAA;AAE9F,iGAAiG;AACjG,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAA6D,CAAA;AAElH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,oBAAoB,CAI/D,CAAA"}
package/build/utils.js ADDED
@@ -0,0 +1,15 @@
1
+ import { stateAlias } from '@owlmeans/state';
2
+ /**
3
+ * The ONE card store. Projects, cards and specifications share an id space on the server, so they
4
+ * share it here too — a store per kind would let a list reload of one kind drop another's rows.
5
+ */
6
+ export const CARDS = stateAlias('planning-card-state');
7
+ export const LINKS = stateAlias('planning-link-state');
8
+ /** What the client has learned about each transition it wrote or saw, keyed by transition id. */
9
+ export const COMMITS = stateAlias('planning-commit-state');
10
+ export const DEFAULT_STORE_ALIASES = Object.freeze({
11
+ cards: CARDS,
12
+ links: LINKS,
13
+ commits: COMMITS,
14
+ });
15
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI7D;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAyB,UAAU,CAAW,qBAAqB,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,KAAK,GAA6B,UAAU,CAAe,qBAAqB,CAAC,CAAA;AAE9F,iGAAiG;AACjG,MAAM,CAAC,MAAM,OAAO,GAAqC,UAAU,CAAuB,uBAAuB,CAAC,CAAA;AAElH,MAAM,CAAC,MAAM,qBAAqB,GAAmC,MAAM,CAAC,MAAM,CAAC;IACjF,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/client-planning",
3
- "version": "0.1.18-rc.2",
3
+ "version": "0.1.18-rc.21",
4
4
  "license": "MIT",
5
5
  "description": "The client half of OwlMeans planning — the remote planning facade, the state mirror and its commit fold, and the subscribe-then-poll commit wait. React-free: it runs in a browser and in a Node client alike.",
6
6
  "type": "module",
@@ -23,17 +23,18 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@owlmeans/auth": "^0.1.18-rc.28",
27
- "@owlmeans/client-context": "^0.1.18-rc.31",
28
- "@owlmeans/client-entrypoint": "^0.1.18-rc.30",
29
- "@owlmeans/context": "^0.1.18-rc.26",
30
- "@owlmeans/entrypoint": "^0.1.18-rc.29",
31
- "@owlmeans/error": "^0.1.18-rc.28",
32
- "@owlmeans/planning": "^0.1.18-rc.2",
33
- "@owlmeans/resource": "^0.1.18-rc.28",
34
- "@owlmeans/route": "^0.1.18-rc.27",
35
- "@owlmeans/socket": "^0.1.18-rc.26",
36
- "@owlmeans/state": "^0.1.18-rc.27"
26
+ "@owlmeans/auth": "^0.1.18-rc.39",
27
+ "@owlmeans/client-context": "^0.1.18-rc.47",
28
+ "@owlmeans/client-entrypoint": "^0.1.18-rc.46",
29
+ "@owlmeans/context": "^0.1.18-rc.33",
30
+ "@owlmeans/entrypoint": "^0.1.18-rc.40",
31
+ "@owlmeans/error": "^0.1.18-rc.37",
32
+ "@owlmeans/planning": "^0.1.18-rc.18",
33
+ "@owlmeans/resource": "^0.1.18-rc.39",
34
+ "@owlmeans/log": "^0.1.18-rc.1",
35
+ "@owlmeans/route": "^0.1.18-rc.34",
36
+ "@owlmeans/socket": "^0.1.18-rc.39",
37
+ "@owlmeans/state": "^0.1.18-rc.38"
37
38
  },
38
39
  "peerDependencies": {
39
40
  "ajv": "*",
@@ -41,10 +42,10 @@
41
42
  },
42
43
  "devDependencies": {
43
44
  "@owlmeans/dep-config": "workspace:*",
44
- "@owlmeans/server-planning": "^0.1.18-rc.2",
45
- "@owlmeans/test": "^0.1.18-rc.26",
46
- "@types/bun": "^1.4.0",
47
- "ajv": "^8.17.1",
45
+ "@owlmeans/server-planning": "^0.1.18-rc.21",
46
+ "@owlmeans/test": "^0.1.18-rc.34",
47
+ "@types/bun": "^1.4.2",
48
+ "ajv": "^8.20.0",
48
49
  "ajv-formats": "^3.0.1",
49
50
  "nodemon": "^3.1.14",
50
51
  "typescript": "^7.0.2"
package/src/client.ts CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  } from '@owlmeans/planning'
7
7
  import type { PlanningFacade, PlanningPlugin, PlanningSchemaRegistry } from '@owlmeans/planning'
8
8
  import { makeRemoteCommitSource } from './commits.js'
9
+ import { makeRemoteDefinitions } from './definitions.js'
9
10
  import { makeRemoteFacade } from './facade.js'
10
11
  import { planningStoresOf } from './stores.js'
11
12
  import type {
@@ -65,9 +66,15 @@ export const makePlanningClientService = <C extends Config, T extends Context<C>
65
66
  return await loading
66
67
  }
67
68
 
69
+ // A write of data-defined schemas moves the organization's bundle too: the next `model()` reloads it.
70
+ const definitions = options.protocols.schema.define == null
71
+ ? undefined
72
+ : makeRemoteDefinitions(context, options.protocols, { timeout: options.timeout, onWrite: () => { loaded = false; loading = null } })
73
+
68
74
  const facadeFor = (scope: Parameters<PlanningClientService['for']>[0]): PlanningFacade =>
69
75
  makeRemoteFacade(context, options.protocols, { ...options.scope, ...scope }, {
70
76
  commits, schemas: registry, loadSchemas, timeout: options.timeout, stores,
77
+ ...(definitions != null ? { definitions } : {}),
71
78
  })
72
79
 
73
80
  let fallback: PlanningFacade | null = null
@@ -106,6 +113,8 @@ export const makePlanningClientService = <C extends Config, T extends Context<C>
106
113
  },
107
114
 
108
115
  close: async () => await commits.close(),
116
+
117
+ ...(definitions != null ? { definitions } : {}),
109
118
  })
110
119
  }
111
120
 
package/src/commits.ts CHANGED
@@ -1,20 +1,13 @@
1
1
  import type { BasicConfig, BasicContext } from '@owlmeans/context'
2
- import {
3
- CommitFailed, CommitState, CommitTimeout, DEFAULT_COMMIT_POLL, DEFAULT_COMMIT_TIMEOUT, MAX_COMMIT_POLL,
4
- PLANNING_COMMIT_EVENT, PlanningError, WorkcardKind,
5
- } from '@owlmeans/planning'
6
- import type {
7
- CommitEvent, CommitFilter, CommitStatus, PlanningProtocols, Unsubscribe, Workcard,
8
- } from '@owlmeans/planning'
2
+ import { logger } from '@owlmeans/log'
3
+ import { CommitFailed, CommitState, CommitTimeout, DEFAULT_COMMIT_POLL, DEFAULT_COMMIT_TIMEOUT, MAX_COMMIT_POLL, PLANNING_COMMIT_EVENT, PlanningError, WorkcardKind, type CommitEvent, type CommitFilter, type CommitStatus, type PlanningProtocols, type Unsubscribe, type Workcard } from '@owlmeans/planning'
9
4
  import type { Connection } from '@owlmeans/socket'
10
5
  import { EARLY_POLL_LADDER, EARLY_POLL_MS, LONG_POLL_GRACE } from './consts.js'
11
6
  import type { RemoteCommitSource, RemoteCommitSourceOptions } from './types.js'
12
- import { dropCard, putCard, putCommit } from './utils/record.js'
7
+ import type { Subscription } from './types.local.js'
8
+ import { recordHelper } from './utils/record.js'
13
9
 
14
- interface Subscription {
15
- listener: (event: CommitEvent) => void | Promise<void>
16
- filter?: CommitFilter
17
- }
10
+ const log = logger('client-planning')
18
11
 
19
12
  const matches = (filter: CommitFilter | undefined, event: CommitEvent): boolean =>
20
13
  filter == null || (
@@ -61,7 +54,7 @@ export const makeRemoteCommitSource = <C extends BasicConfig, T extends BasicCon
61
54
  try {
62
55
  await subscription.listener(event)
63
56
  } catch (e) {
64
- console.error('Planning commit listener error:', e)
57
+ log.error('Planning commit listener failed', e)
65
58
  }
66
59
  }
67
60
  }
@@ -86,7 +79,7 @@ export const makeRemoteCommitSource = <C extends BasicConfig, T extends BasicCon
86
79
  return connection
87
80
  } catch (e) {
88
81
  opening = null
89
- console.error('Planning commit socket error:', e)
82
+ log.warn('Planning commit socket failed to open', e)
90
83
  return null
91
84
  }
92
85
  })()
@@ -122,16 +115,16 @@ export const makeRemoteCommitSource = <C extends BasicConfig, T extends BasicCon
122
115
  return
123
116
  }
124
117
  const known = await stores.commits.load(transition)
125
- await putCommit(stores.commits, {
118
+ await recordHelper.putCommit(stores.commits, {
126
119
  id: transition, state: settled.state, at: settled.at, error: settled.error,
127
120
  })
128
121
  if (settled.state !== CommitState.Committed) {
129
122
  return
130
123
  }
131
124
  if (settled.card != null) {
132
- await putCard(stores.cards, settled.card)
125
+ await recordHelper.putCard(stores.cards, settled.card)
133
126
  } else if (settled.card === null && known?.card != null) {
134
- await dropCard(stores, known.card, known.kind === WorkcardKind.Project)
127
+ await recordHelper.dropCard(stores, known.card, known.kind === WorkcardKind.Project)
135
128
  }
136
129
  }
137
130