@nocobase/app-plugin-projects 0.1.0-beta.11 → 0.1.0-beta.13

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 (68) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/README.md +2 -0
  3. package/dist/client/api/invalidate-queries.d.ts +7 -0
  4. package/dist/client/api/invalidate-queries.d.ts.map +1 -0
  5. package/dist/client/api/invalidate-queries.js +65 -0
  6. package/dist/client/api/invalidate-queries.js.map +1 -0
  7. package/dist/client/api/keys.d.ts +2 -2
  8. package/dist/client/api/keys.d.ts.map +1 -1
  9. package/dist/client/api/keys.js +2 -14
  10. package/dist/client/api/keys.js.map +1 -1
  11. package/dist/client/components/pm-executor-select.d.ts +1 -1
  12. package/dist/client/components/pm-executor-select.d.ts.map +1 -1
  13. package/dist/client/components/pm-executor-select.js +6 -1
  14. package/dist/client/components/pm-executor-select.js.map +1 -1
  15. package/dist/client/components/pm-markdown.d.ts +1 -1
  16. package/dist/client/components/pm-markdown.d.ts.map +1 -1
  17. package/dist/client/components/pm-markdown.js +28 -15
  18. package/dist/client/components/pm-markdown.js.map +1 -1
  19. package/dist/client/kit/executor-presentation.d.ts +15 -0
  20. package/dist/client/kit/executor-presentation.d.ts.map +1 -0
  21. package/dist/client/kit/executor-presentation.js +4 -0
  22. package/dist/client/kit/executor-presentation.js.map +1 -0
  23. package/dist/client/kit.d.ts +3 -0
  24. package/dist/client/kit.d.ts.map +1 -1
  25. package/dist/client/kit.js +3 -0
  26. package/dist/client/kit.js.map +1 -1
  27. package/dist/client/pages/intake/use-intake-ai.d.ts +1 -1
  28. package/dist/client/pages/intake/use-intake-ai.d.ts.map +1 -1
  29. package/dist/client/pages/intake/use-intake-ai.js +3 -2
  30. package/dist/client/pages/intake/use-intake-ai.js.map +1 -1
  31. package/dist/client/pages/issues/detail/use-issue-activity.d.ts.map +1 -1
  32. package/dist/client/pages/issues/detail/use-issue-activity.js +56 -10
  33. package/dist/client/pages/issues/detail/use-issue-activity.js.map +1 -1
  34. package/dist/client/pages/issues/detail/use-older-activities.d.ts +1 -1
  35. package/dist/client/pages/issues/detail/use-older-activities.d.ts.map +1 -1
  36. package/dist/client/pages/issues/detail/use-older-activities.js +7 -24
  37. package/dist/client/pages/issues/detail/use-older-activities.js.map +1 -1
  38. package/dist/client/pages/issues/detail/use-older-pages.d.ts +14 -0
  39. package/dist/client/pages/issues/detail/use-older-pages.d.ts.map +1 -0
  40. package/dist/client/pages/issues/detail/use-older-pages.js +86 -0
  41. package/dist/client/pages/issues/detail/use-older-pages.js.map +1 -0
  42. package/dist/client/pages/issues/detail/use-older-threads.d.ts +1 -1
  43. package/dist/client/pages/issues/detail/use-older-threads.d.ts.map +1 -1
  44. package/dist/client/pages/issues/detail/use-older-threads.js +7 -23
  45. package/dist/client/pages/issues/detail/use-older-threads.js.map +1 -1
  46. package/dist/client/providers/query-provider.d.ts.map +1 -1
  47. package/dist/client/providers/query-provider.js +65 -31
  48. package/dist/client/providers/query-provider.js.map +1 -1
  49. package/dist/server/domains/issues/index.d.ts +1 -1
  50. package/dist/server/domains/issues/index.d.ts.map +1 -1
  51. package/dist/server/domains/issues/index.js +1 -1
  52. package/dist/server/domains/issues/index.js.map +1 -1
  53. package/dist/server/domains/issues/issue.access.d.ts +2 -0
  54. package/dist/server/domains/issues/issue.access.d.ts.map +1 -1
  55. package/dist/server/domains/issues/issue.access.js +8 -1
  56. package/dist/server/domains/issues/issue.access.js.map +1 -1
  57. package/dist/server/domains/issues/issue.store.d.ts +2 -0
  58. package/dist/server/domains/issues/issue.store.d.ts.map +1 -1
  59. package/dist/server/domains/issues/issue.store.js +8 -0
  60. package/dist/server/domains/issues/issue.store.js.map +1 -1
  61. package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
  62. package/dist/server/domains/subtasks/subtask.service.js +20 -30
  63. package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
  64. package/dist/server/providers/projects.d.ts.map +1 -1
  65. package/dist/server/providers/projects.js +3 -1
  66. package/dist/server/providers/projects.js.map +1 -1
  67. package/package.json +11 -11
  68. package/skills/nocobase-app-plugin-projects/SKILL.md +2 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,75 @@
1
1
  # @nocobase/app-plugin-projects
2
2
 
3
+ ## 0.1.0-beta.13
4
+
5
+ ### Patch Changes
6
+
7
+ - 5bb9203: Expose the history-aware query client so applications can preserve in-flight pagination in their own caches.
8
+ - 1952789: Require explicitly declared realtime topics and authorize dynamic resources before subscription and delivery. Isolate the server core behind a broker contract, retain the application adapter and service tokens, and handle asynchronous publication throughout plugins and examples. Add acknowledged browser subscriptions, bounded recovery and heartbeat handling, shared React refresh helpers, original-session revalidation, transport limits, and usage documentation. The included adapter remains in-process; events are transient and clients recover by refetching after acknowledgement.
9
+ - 1952789: Make mail synchronization and office workflow views refresh from committed state notifications, including empty sync results, failures, cancellation and lifecycle transitions. Add optional periodic reconciliation to the shared refresh scheduler, pause hidden views, and retain one-minute reconciliation for transient announcements and out-of-band changes. Reduce existing task, run, session and chat fallback reads to one minute while retaining time-based computer status checks, external indexing status reads, deployment health probes and bounded initialization waits.
10
+
11
+ Announce knowledge rechunking start and completion even when no chunks change, and support optional committed status notifications from external indexers. Continue tracking pending index work when some sections have already failed.
12
+
13
+ Preserve application providers when `renderWithApp` rerenders its page. Exercise mail refresh through real application services and fix the mail account navigation translation key exposed by those checks.
14
+
15
+ - 1952789: Retain full snapshot recovery after a failed Projects refresh so later events from another domain cannot discard the failed batch. Cover both targeted notifications and subscription readiness recovery.
16
+ - 1952789: Add `refreshRealtimeQueries` to refresh active TanStack Query snapshots after pre-event requests settle, including initial loads, prefixes and predicates. Keep inactive snapshots invalid, expose refresh failures, and stop queued follow-ups when their owner is disposed. The application client now declares its TanStack Query peer contract.
17
+
18
+ Use the shared catch-up behavior in Projects, Knowledge, Agents, Agent Sessions and the inbox. Refresh additional inbox topics after subscription readiness and preserve refresh promises so concurrent events coalesce correctly. Update application guidance to avoid reusing stale in-flight responses.
19
+
20
+ - 1952789: Retry transient subscription failures independently with bounded exponential backoff and jitter. Preserve permanent authorization refusals and correlation checks, cancel retries on disposal, and probe healthy foreground connections instead of rebuilding them.
21
+
22
+ Retain stale snapshot state after failed reads and retry transient refresh failures without another realtime event. Expose refresh status, last successful synchronization, manual retry and separate subscription error callbacks. Clear previously authorized query data after an HTTP 401 or 403. Reuse the scheduler for Agent Sessions and subject run discovery while preserving slow reads and stream coalescing.
23
+
24
+ - 7afd595: Remove Refine from the client runtime
25
+
26
+ The application shell no longer mounts Refine. `@nocobase/app-client` drops `app.refine`, `app.refineConfig`, `AppClientRefineConfig`, `AppClientRefineRegistry`, `AppClientRefineSetters`, `AppClientRefineSetterValue` and the provider-context methods `runWithProviderContext` and `runWithProviderContextAsync`, which existed only to attribute Refine settings to the provider that made them. Nothing in the repository read what was registered there: a title set through `app.refine.setOptions` never reached the page, and Refine resources never produced a menu entry.
27
+
28
+ Refine also created the TanStack Query cache that pages read through `useQueryClient()`; `AppClientProviders` now creates it in the same place, the same way, so pages and plugins behave as before. `@tanstack/react-query` becomes a peer dependency of `@nocobase/app-client` and joins the identity-sensitive packages that plugins must declare as peers.
29
+
30
+ `@nocobase/i18n/client` drops `createRefineI18nProvider`, `CreateRefineI18nProviderOptions` and `RefineI18nProvider`. `@nocobase/app-plugin-repository-example` drops its Client ServiceProvider and the `./client/providers` export, which only registered Refine resources.
31
+
32
+ `nocobase build` builds the client with `vite build` instead of `refine build`, and `@nocobase/app-cli` no longer lists `@refinedev/cli` as an optional peer. The Default and Examples templates remove every `@refinedev/*` development dependency. The development and plugin Skills no longer mention Refine, and the upgrade Skill explains how an existing application removes its `this.app.refine` calls and Refine packages.
33
+
34
+ - Updated dependencies [1952789]
35
+ - Updated dependencies [1952789]
36
+ - Updated dependencies [1952789]
37
+ - Updated dependencies [1952789]
38
+ - Updated dependencies [1952789]
39
+ - Updated dependencies [7afd595]
40
+ - @nocobase/app-client@4.0.0-beta.0
41
+ - @nocobase/app-plugin-authentication@2.0.0-beta.11
42
+ - @nocobase/app-plugin-authorization@1.0.0-beta.29
43
+ - @nocobase/app-plugin-file@1.0.0-beta.25
44
+ - @nocobase/app-plugin-notification@1.0.0-beta.28
45
+ - @nocobase/app-plugin-users@2.0.0-beta.6
46
+ - @nocobase/app-server@3.0.0-beta.0
47
+ - @nocobase/i18n@2.0.0-beta.0
48
+ - @nocobase/authorization@1.0.0-beta.14
49
+ - @nocobase/db@1.0.0-beta.21
50
+ - @nocobase/markdown-mermaid@0.1.0-beta.2
51
+ - @nocobase/repository-input@0.1.0-beta.3
52
+ - @nocobase/service-provider@0.0.2-beta.2
53
+
54
+ ## 0.1.0-beta.12
55
+
56
+ ### Patch Changes
57
+
58
+ - e897e4f: Preserve pending history pages and coalesce refreshes when realtime changes arrive during pagination.
59
+ - e897e4f: Keep loaded issue history complete across live updates and scroll to a linked comment only once.
60
+ - 32ed5e2: Report coding account quota windows, filter scoped exhausted tools before claims, and restore eligibility at known reset times or after an authorized manual clear. Show quota status and usage in runtime tabs and agent availability, and batch page reads independently of the catalog size.
61
+
62
+ Runtime API and CLI: runtime get returns directory totals without directory rows; runtime list omits models, policy, variables, quota details and load, and caps takes at three with takesCount. Use the paginated runtime workspaces command for directory rows. Runtime quota clear takes structured tool/scope/target/window fields and no client revision; only unknown-reset marks may be cleared.
63
+
64
+ Classify quota revision races as retryable REVISION_CONFLICT while known-reset clears fail with QUOTA_RESET_KNOWN / FAILED_PRECONDITION.
65
+
66
+ Batch related-task visibility and missing blocker reads with the existing issue visibility filter, preserving per-request permissions and hidden blocker counts as task and project counts grow.
67
+
68
+ - Updated dependencies [22717d7]
69
+ - @nocobase/app-server@2.0.0-beta.9
70
+ - @nocobase/app-plugin-file@1.0.0-beta.24
71
+ - @nocobase/app-plugin-authentication@2.0.0-beta.10
72
+
3
73
  ## 0.1.0-beta.11
4
74
 
5
75
  ### Minor Changes
package/README.md CHANGED
@@ -281,3 +281,5 @@ Invitation emails use `notificationService.sendTransient()` so credentials never
281
281
  `Issue` also exposes nullable Markdown `acceptance`: the issue's delivery report — how it was, the agreed approach, what changed, how it was checked, open issues and details — ending with the acceptance criteria the owner checks and where. `PATCH /api/projects/issues/{issueId}` accepts it in any status, normally with the move to In review (`nb-studio issue update <issue> --status in_review --acceptance-file report.md`). It is kept across status changes, including Done, Cancelled and a move back to In progress, and the next delivery replaces it; omitted it is retained, and null, an empty string or whitespace clears it. It allows at most 20,000 characters (`ISSUE_ACCEPTANCE_MAX`). Its reversible migration adds the column without backfilling.
282
282
 
283
283
  Manual issue descriptions accept pasted images through the existing protected attachment upload. Creation accepts optional `attachmentIds` of the caller's own unattached uploads and requires `pm.attachments` `upload` in addition to issue creation permission. Files are bound in the creation transaction before work starts, so the first agent context includes them. Descriptions remain Markdown; image nodes survive detail edits. Uploading blocks submission; cancelling leaves unattached files to the existing purge.
284
+
285
+ Applications can provide `ExecutorPresentationContext` from the client kit to render the identity and availability of their registered executor kind in new issue and subtask selectors. It changes presentation only; the server still supplies candidates and enforces qualifications.
@@ -0,0 +1,7 @@
1
+ import { QueryClient, type InvalidateQueryFilters, type InvalidateOptions, type QueryKey } from '@tanstack/react-query';
2
+ /** All consumers share this boundary, including application-owned prefix invalidations. */
3
+ export declare class PmQueryClient extends QueryClient {
4
+ private readonly historyRefreshes;
5
+ invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(filters?: InvalidateQueryFilters<TTaggedQueryKey>, options?: InvalidateOptions): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=invalidate-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidate-queries.d.ts","sourceRoot":"","sources":["../../../client/api/invalidate-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AA2D/B,2FAA2F;AAC3F,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAErD,iBAAiB,CAAC,eAAe,SAAS,QAAQ,GAAG,QAAQ,EACpE,OAAO,GAAE,sBAAsB,CAAC,eAAe,CAAM,EACrD,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;CAkCjB"}
@@ -0,0 +1,65 @@
1
+ import { QueryClient, } from '@tanstack/react-query';
2
+ function isHistory(query) {
3
+ const key = query.queryKey;
4
+ return (key.length === 4 &&
5
+ key[0] === 'pm' &&
6
+ key[1] === 'issue' &&
7
+ (key[3] === 'threads' || key[3] === 'activities'));
8
+ }
9
+ /** Preserve an in-flight history page, then refresh the expanded range once per invalidation burst. */
10
+ function refreshHistory(client, query, entries, invalidate, options) {
11
+ const current = entries.get(query);
12
+ if (current) {
13
+ current.pending = true;
14
+ return current.work;
15
+ }
16
+ const present = () => client.getQueryCache().get(query.queryHash) === query;
17
+ const active = () => present() && query.isActive() && !query.isDisabled();
18
+ if (!present() || (!active() && query.state.fetchStatus === 'idle'))
19
+ return Promise.resolve();
20
+ const entry = { pending: true, work: Promise.resolve() };
21
+ entries.set(query, entry);
22
+ const exact = { queryKey: query.queryKey, exact: true };
23
+ entry.work = (async () => {
24
+ // Joining is not refreshing: a pending next page contains no edits to the older pages.
25
+ if (query.state.fetchStatus !== 'idle')
26
+ await query.promise?.catch(() => undefined);
27
+ while (entry.pending && active() && query.state.fetchStatus !== 'paused') {
28
+ entry.pending = false;
29
+ await client.refetchQueries({ ...exact, type: 'active' }, { ...options, cancelRefetch: false });
30
+ }
31
+ })().finally(() => {
32
+ entries.delete(query);
33
+ // A successful in-flight read clears isInvalidated, even if the view disappeared meanwhile.
34
+ if (entry.pending && present())
35
+ void invalidate({ ...exact, refetchType: 'none' });
36
+ });
37
+ return entry.work;
38
+ }
39
+ /** All consumers share this boundary, including application-owned prefix invalidations. */
40
+ export class PmQueryClient extends QueryClient {
41
+ historyRefreshes = new Map();
42
+ invalidateQueries(filters = {}, options = {}) {
43
+ const histories = this.getQueryCache().findAll(filters).filter(isHistory);
44
+ const invalidate = (filter) => super.invalidateQueries(filter);
45
+ return Promise.all([
46
+ super.invalidateQueries({
47
+ ...filters,
48
+ predicate: (query) => !isHistory(query) &&
49
+ (!filters.predicate || filters.predicate(query)),
50
+ }, options),
51
+ ...histories.map((query) => {
52
+ const marked = invalidate({
53
+ queryKey: query.queryKey,
54
+ exact: true,
55
+ refetchType: 'none',
56
+ });
57
+ const refreshed = filters.refetchType === 'none'
58
+ ? Promise.resolve()
59
+ : refreshHistory(this, query, this.historyRefreshes, invalidate, options);
60
+ return Promise.all([marked, refreshed]);
61
+ }),
62
+ ]).then(() => undefined);
63
+ }
64
+ }
65
+ //# sourceMappingURL=invalidate-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidate-queries.js","sourceRoot":"","sources":["../../../client/api/invalidate-queries.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,9 @@ export declare const pmKeys: {
24
24
  boardColumn: (query: IssueListQuery, statusKey: string) => QueryKey;
25
25
  issueSearch: (q: string) => QueryKey;
26
26
  issue: (id: string) => QueryKey;
27
- activities: (id: string, cursor: string | null) => QueryKey;
27
+ activities: (id: string) => QueryKey;
28
28
  /** Older thread pages, under the issue like its activities. */
29
- threads: (id: string, cursor: string | null) => QueryKey;
29
+ threads: (id: string) => QueryKey;
30
30
  mentions: (issueId: string | null) => QueryKey;
31
31
  };
32
32
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;IAMjB,iEAAiE;;;;;kBAKnD,MAAM,KAAG,QAAQ;;IAE/B,0BAA0B;;wBAEN,cAAc,KAAG,QAAQ;mBAM9B,cAAc,KAAG,QAAQ;yBACnB,cAAc,aAAa,MAAM,KAAG,QAAQ;qBAOhD,MAAM,KAAG,QAAQ;gBACtB,MAAM,KAAG,QAAQ;qBACZ,MAAM,UAAU,MAAM,GAAG,IAAI,KAAG,QAAQ;IAOzD,+DAA+D;kBACjD,MAAM,UAAU,MAAM,GAAG,IAAI,KAAG,QAAQ;wBAOlC,MAAM,GAAG,IAAI,KAAG,QAAQ;CAC7C,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;IAMjB,iEAAiE;;;;;kBAKnD,MAAM,KAAG,QAAQ;;IAE/B,0BAA0B;;wBAEN,cAAc,KAAG,QAAQ;mBAM9B,cAAc,KAAG,QAAQ;yBACnB,cAAc,aAAa,MAAM,KAAG,QAAQ;qBAOhD,MAAM,KAAG,QAAQ;gBACtB,MAAM,KAAG,QAAQ;qBACZ,MAAM,KAAG,QAAQ;IAClC,+DAA+D;kBACjD,MAAM,KAAG,QAAQ;wBACX,MAAM,GAAG,IAAI,KAAG,QAAQ;CAC7C,CAAC"}
@@ -33,21 +33,9 @@ export const pmKeys = {
33
33
  ],
34
34
  issueSearch: (q) => ['pm', 'issues', 'search', q],
35
35
  issue: (id) => ['pm', 'issue', id],
36
- activities: (id, cursor) => [
37
- 'pm',
38
- 'issue',
39
- id,
40
- 'activities',
41
- cursor,
42
- ],
36
+ activities: (id) => ['pm', 'issue', id, 'activities'],
43
37
  /** Older thread pages, under the issue like its activities. */
44
- threads: (id, cursor) => [
45
- 'pm',
46
- 'issue',
47
- id,
48
- 'threads',
49
- cursor,
50
- ],
38
+ threads: (id) => ['pm', 'issue', id, 'threads'],
51
39
  mentions: (issueId) => ['pm', 'mentions', issueId],
52
40
  };
53
41
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,CAAC,IAAI,CAAU;IACpB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAU;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAU;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,CAAU;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAU;IAC/C,iEAAiE;IACjE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAU;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,OAAO,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,UAAU,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC;QAC/C,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,KAAK;KACN;IACD,KAAK,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;IAC5E,WAAW,EAAE,CAAC,KAAqB,EAAE,SAAiB,EAAY,EAAE,CAAC;QACnE,IAAI;QACJ,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,SAAS;KACV;IACD,WAAW,EAAE,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpD,UAAU,EAAE,CAAC,EAAU,EAAE,MAAqB,EAAY,EAAE,CAAC;QAC3D,IAAI;QACJ,OAAO;QACP,EAAE;QACF,YAAY;QACZ,MAAM;KACP;IACD,+DAA+D;IAC/D,OAAO,EAAE,CAAC,EAAU,EAAE,MAAqB,EAAY,EAAE,CAAC;QACxD,IAAI;QACJ,OAAO;QACP,EAAE;QACF,SAAS;QACT,MAAM;KACP;IACD,QAAQ,EAAE,CAAC,OAAsB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;CAC5E,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,CAAC,IAAI,CAAU;IACpB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAU;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAU;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,CAAU;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAU;IAC/C,iEAAiE;IACjE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAU;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,OAAO,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,UAAU,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC;QAC/C,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,KAAK;KACN;IACD,KAAK,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;IAC5E,WAAW,EAAE,CAAC,KAAqB,EAAE,SAAiB,EAAY,EAAE,CAAC;QACnE,IAAI;QACJ,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,SAAS;KACV;IACD,WAAW,EAAE,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpD,UAAU,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC;IACvE,+DAA+D;IAC/D,OAAO,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;IACjE,QAAQ,EAAE,CAAC,OAAsB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;CAC5E,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ReactElement } from 'react';
1
+ import { type ReactElement } from 'react';
2
2
  import type { Executor } from '../../shared/issues.js';
3
3
  import type { Member } from '../../shared/members.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pm-executor-select.d.ts","sourceRoot":"","sources":["../../../client/components/pm-executor-select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAatD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAmBD,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,KAAK,EACL,OAAO,EACP,MAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,qBAAqB,GAAG,YAAY,CAyGtC"}
1
+ {"version":3,"file":"pm-executor-select.d.ts","sourceRoot":"","sources":["../../../client/components/pm-executor-select.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAatD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAmBD,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,KAAK,EACL,OAAO,EACP,MAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,qBAAqB,GAAG,YAAY,CA8HtC"}
@@ -1,5 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useTranslation } from '@nocobase/i18n/client';
3
+ import { useContext } from 'react';
4
+ import { ExecutorPresentationContext } from '../kit/executor-presentation.js';
3
5
  import { cn } from 'cn';
4
6
  import { PM_OTHER_KIND_CLASS } from './pm-tones.js';
5
7
  import { Avatar, AvatarFallback } from './ui/avatar.js';
@@ -23,6 +25,7 @@ const kindOf = (value) => value.slice(0, value.indexOf(':'));
23
25
  export function PmExecutorSelect({ id, value, members, others = [], currentName, onChange, disabled, className, 'aria-label': ariaLabel, }) {
24
26
  const { t } = useTranslation();
25
27
  const selected = encode(value);
28
+ const presentation = useContext(ExecutorPresentationContext);
26
29
  const items = [
27
30
  { value: NONE, label: t('executor.none') },
28
31
  ...others.map((option) => ({
@@ -50,6 +53,8 @@ export function PmExecutorSelect({ id, value, members, others = [], currentName,
50
53
  if (!item || key === NONE)
51
54
  return (_jsxs("span", { className: 'text-muted-foreground', children: ["\u2014", _jsx("span", { className: 'sr-only', children: t('executor.none') })] }));
52
55
  const kind = kindOf(key);
56
+ if (presentation?.kind === kind && value)
57
+ return (_jsx(presentation.Component, { id: value.id, name: item.label, place: 'trigger' }));
53
58
  // A person's name stands alone; initials beside it say nothing more.
54
59
  if (kind === 'user')
55
60
  return _jsx("span", { className: 'truncate', children: item.label });
@@ -58,7 +63,7 @@ export function PmExecutorSelect({ id, value, members, others = [], currentName,
58
63
  : 'rounded-md after:rounded-md'), children: _jsx(AvatarFallback, { className: kind === 'system'
59
64
  ? 'bg-transparent text-muted-foreground'
60
65
  : `rounded-md ${PM_OTHER_KIND_CLASS}`, children: _jsx(PmKindIcon, { kind: kind, className: 'size-2.5' }) }) }), _jsx("span", { className: 'truncate', children: item.label })] }));
61
- } }) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: items.map((item) => (_jsx(SelectItem, { value: item.value, disabled: item.option?.disabled === true && item.value !== selected, className: '[&>span:first-child]:min-w-0 [&>span:first-child]:shrink', children: item.value === NONE ? (item.label) : (_jsxs("span", { className: 'flex min-w-0 items-center gap-2', children: [_jsx(ItemIcon, { kind: kindOf(item.value) }), _jsx("span", { className: 'min-w-0', children: item.label }), item.option?.note ? (_jsx("span", { className: 'shrink-0 text-xs text-muted-foreground', children: item.option.note })) : null] })) }, item.value))) })] }));
66
+ } }) }), _jsxs(SelectContent, { side: 'top', align: 'start', alignItemWithTrigger: false, className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: [items.map((item) => (_jsx(SelectItem, { value: item.value, disabled: item.option?.disabled === true && item.value !== selected, className: '[&>span:first-child]:min-w-0 [&>span:first-child]:shrink', children: item.value === NONE ? (item.label) : presentation?.kind === kindOf(item.value) && item.option ? (_jsx(presentation.Component, { id: item.option.id, name: item.label, place: 'menu' })) : (_jsxs("span", { className: 'flex min-w-0 items-center gap-2', children: [_jsx(ItemIcon, { kind: kindOf(item.value) }), _jsx("span", { className: 'min-w-0', children: item.label }), item.option?.note ? (_jsx("span", { className: 'shrink-0 text-xs text-muted-foreground', children: item.option.note })) : null] })) }, item.value))), presentation?.Footer ? _jsx(presentation.Footer, {}) : null] })] }));
62
67
  }
63
68
  function ItemIcon({ kind }) {
64
69
  return (_jsx(PmKindIcon, { kind: kind, className: 'size-3.5 text-muted-foreground', "aria-hidden": 'true' }));
@@ -1 +1 @@
1
- {"version":3,"file":"pm-executor-select.js","sourceRoot":"","sources":["../../../client/components/pm-executor-select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pm-executor-select.js","sourceRoot":"","sources":["../../../client/components/pm-executor-select.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ReactElement } from 'react';
1
+ import { type ReactElement } from 'react';
2
2
  import type { TocHeading } from './pm-markdown-toc.js';
3
3
  export interface PmMarkdownProps {
4
4
  readonly content: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pm-markdown.d.ts","sourceRoot":"","sources":["../../../client/components/pm-markdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC3C;AA8ID,wHAAwH;AACxH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,GAAG,YAAY,CAahC"}
1
+ {"version":3,"file":"pm-markdown.d.ts","sourceRoot":"","sources":["../../../client/components/pm-markdown.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAQxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC3C;AAgJD,wHAAwH;AACxH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,GAAG,YAAY,CAuBhC"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { MermaidDiagram, mermaidSource } from '@nocobase/markdown-mermaid';
3
+ import { useMemo } from 'react';
3
4
  import Markdown, { defaultUrlTransform } from 'react-markdown';
4
5
  import remarkGfm from 'remark-gfm';
5
6
  import { MENTION_KIND_PATTERN } from '../lib/mentions.js';
@@ -39,24 +40,36 @@ const baseComponents = {
39
40
  td: ({ node: _node, ...props }) => (_jsx("td", { className: 'border px-2 py-1', ...props })),
40
41
  hr: ({ node: _node, ...props }) => _jsx("hr", { className: 'my-3', ...props }),
41
42
  };
42
- /**
43
- * `h1`/`h2`/`h3` renderers that hand out `headings[]`'s ids in document order, one per heading rendered. Built fresh
44
- * on every `PmMarkdown` render (not memoized) so the counter starts over each time; react-markdown re-invokes every
45
- * component on every render regardless, so memoizing this object would only leave the counter stuck past the end
46
- * of `headings` after the first render.
47
- */
48
- function headingComponents(headings) {
49
- let index = 0;
50
- const nextId = () => headings?.[index++]?.id;
51
- return {
52
- h1: ({ node: _node, ...props }) => (_jsx("h1", { id: nextId(), className: 'mt-4 mb-2 text-lg font-semibold first:mt-0', ...props })),
53
- h2: ({ node: _node, ...props }) => (_jsx("h2", { id: nextId(), className: 'mt-4 mb-2 text-base font-semibold first:mt-0', ...props })),
54
- h3: ({ node: _node, ...props }) => (_jsx("h3", { id: nextId(), className: 'mt-3 mb-1.5 text-sm font-semibold first:mt-0', ...props })),
43
+ const components = {
44
+ ...baseComponents,
45
+ h1: ({ node: _node, ...props }) => (_jsx("h1", { className: 'mt-4 mb-2 text-lg font-semibold first:mt-0', ...props })),
46
+ h2: ({ node: _node, ...props }) => (_jsx("h2", { className: 'mt-4 mb-2 text-base font-semibold first:mt-0', ...props })),
47
+ h3: ({ node: _node, ...props }) => (_jsx("h3", { className: 'mt-3 mb-1.5 text-sm font-semibold first:mt-0', ...props })),
48
+ };
49
+ /** Assign ids in document order while parsing, independently of React's render order. */
50
+ function remarkHeadingIds(ids) {
51
+ return (tree) => {
52
+ let heading = 0;
53
+ const visit = (node) => {
54
+ if (node.type === 'heading' && node.depth && node.depth <= 3) {
55
+ const id = ids[heading++];
56
+ if (id !== undefined) {
57
+ node.data ??= {};
58
+ node.data.hProperties = { ...node.data.hProperties, id };
59
+ }
60
+ }
61
+ node.children?.forEach(visit);
62
+ };
63
+ visit(tree);
55
64
  };
56
65
  }
57
66
  /** Markdown for issue descriptions and comments, with mentions shown as chips and `mermaid` code blocks as diagrams. */
58
67
  export function PmMarkdown({ content, className, headings, }) {
59
- const components = { ...baseComponents, ...headingComponents(headings) };
60
- return (_jsx("div", { className: cn('min-w-0 text-sm wrap-anywhere', className), children: _jsx(Markdown, { remarkPlugins: [remarkGfm, remarkCjkAutolink], urlTransform: urlTransform, components: components, children: content }) }));
68
+ const remarkPlugins = useMemo(() => [
69
+ remarkGfm,
70
+ remarkCjkAutolink,
71
+ [remarkHeadingIds, headings?.map((heading) => heading.id) ?? []],
72
+ ], [headings]);
73
+ return (_jsx("div", { className: cn('min-w-0 text-sm wrap-anywhere', className), children: _jsx(Markdown, { remarkPlugins: remarkPlugins, urlTransform: urlTransform, components: components, children: content }) }));
61
74
  }
62
75
  //# sourceMappingURL=pm-markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pm-markdown.js","sourceRoot":"","sources":["../../../client/components/pm-markdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pm-markdown.js","sourceRoot":"","sources":["../../../client/components/pm-markdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** Applications may describe their own principal kinds without changing executor eligibility. */
2
+ import { type ComponentType, type Context } from 'react';
3
+ export interface ExecutorPresentationProps {
4
+ readonly id: string;
5
+ readonly name: string;
6
+ readonly place: 'trigger' | 'menu';
7
+ }
8
+ export interface ExecutorPresentation {
9
+ readonly kind: string;
10
+ readonly Component: ComponentType<ExecutorPresentationProps>;
11
+ /** Optional shared explanation below the candidate list. */
12
+ readonly Footer?: ComponentType;
13
+ }
14
+ export declare const ExecutorPresentationContext: Context<ExecutorPresentation | null>;
15
+ //# sourceMappingURL=executor-presentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor-presentation.d.ts","sourceRoot":"","sources":["../../../client/kit/executor-presentation.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AACxE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;CACpC;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAC7D,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AACD,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAC3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Applications may describe their own principal kinds without changing executor eligibility. */
2
+ import { createContext } from 'react';
3
+ export const ExecutorPresentationContext = createContext(null);
4
+ //# sourceMappingURL=executor-presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor-presentation.js","sourceRoot":"","sources":["../../../client/kit/executor-presentation.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,aAAa,EAAoC,MAAM,OAAO,CAAC;AAYxE,MAAM,CAAC,MAAM,2BAA2B,GACtC,aAAa,CAA8B,IAAI,CAAC,CAAC"}
@@ -60,9 +60,12 @@ export { IntakeAgentSlot, PageContextProvider } from './kit/page-slots.js';
60
60
  export { useViewer } from './hooks/use-viewer.js';
61
61
  export { canManageProject, canUseSetting } from './lib/permissions.js';
62
62
  export { pmKeys } from './api/keys.js';
63
+ /** Use the same history pagination protection in an application's own query cache. */
64
+ export { PmQueryClient } from './api/invalidate-queries.js';
63
65
  export { announcedIssueIds, changedIssueSegments, isIssueRead, } from './api/changed-issues.js';
64
66
  export { usePmApi } from './hooks/use-pm-api.js';
65
67
  export { useApiKeyActors } from './hooks/use-api-key-actors.js';
66
68
  export { PmDescriptionImage } from './components/pm-description-image.js';
67
69
  export { IntakeDraftProvider, useIntakeDraft, emptyIntakeDraft, } from './kit/intake-draft.js';
70
+ export { ExecutorPresentationContext, type ExecutorPresentation, type ExecutorPresentationProps, } from './kit/executor-presentation.js';
68
71
  //# sourceMappingURL=kit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../client/kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../client/kit.ts"],"names":[],"mappings":"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"}
@@ -66,9 +66,12 @@ export { IntakeAgentSlot, PageContextProvider } from './kit/page-slots.js';
66
66
  export { useViewer } from './hooks/use-viewer.js';
67
67
  export { canManageProject, canUseSetting } from './lib/permissions.js';
68
68
  export { pmKeys } from './api/keys.js';
69
+ /** Use the same history pagination protection in an application's own query cache. */
70
+ export { PmQueryClient } from './api/invalidate-queries.js';
69
71
  export { announcedIssueIds, changedIssueSegments, isIssueRead, } from './api/changed-issues.js';
70
72
  export { usePmApi } from './hooks/use-pm-api.js';
71
73
  export { useApiKeyActors } from './hooks/use-api-key-actors.js';
72
74
  export { PmDescriptionImage } from './components/pm-description-image.js';
73
75
  export { IntakeDraftProvider, useIntakeDraft, emptyIntakeDraft, } from './kit/intake-draft.js';
76
+ export { ExecutorPresentationContext, } from './kit/executor-presentation.js';
74
77
  //# sourceMappingURL=kit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kit.js","sourceRoot":"","sources":["../../client/kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kit.js","sourceRoot":"","sources":["../../client/kit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Requests to AI from the AI draft tab and the issue page (`shared/intake-ai.ts`): whether the viewer can ask now, and
3
- * one request followed until it ends. A running request is read again every two seconds, and whenever the server
3
+ * one request followed until it ends. A running request is reconciled once a minute and whenever the server
4
4
  * announces a change (the keys sit under `['pm', 'plans']`).
5
5
  */
6
6
  import { type UseQueryResult } from '@tanstack/react-query';
@@ -1 +1 @@
1
- {"version":3,"file":"use-intake-ai.d.ts","sourceRoot":"","sources":["../../../../client/pages/intake/use-intake-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAKtC,6GAA6G;AAC7G,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAItC,gGAAgG;AAChG,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAYrE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAUvE"}
1
+ {"version":3,"file":"use-intake-ai.d.ts","sourceRoot":"","sources":["../../../../client/pages/intake/use-intake-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAKtC,6GAA6G;AAC7G,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAKtC,gGAAgG;AAChG,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAYrE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAUvE"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Requests to AI from the AI draft tab and the issue page (`shared/intake-ai.ts`): whether the viewer can ask now, and
3
- * one request followed until it ends. A running request is read again every two seconds, and whenever the server
3
+ * one request followed until it ends. A running request is reconciled once a minute and whenever the server
4
4
  * announces a change (the keys sit under `['pm', 'plans']`).
5
5
  */
6
6
  import { useQuery } from '@tanstack/react-query';
@@ -9,7 +9,8 @@ import { canCreateIssues } from '../../lib/permissions.js';
9
9
  import { planKeys, usePlanApi } from '../../kit/plans/api.js';
10
10
  /** The URL parameter holding the running request, so a reload or a link (from the issue page) follows it. */
11
11
  export const INTAKE_JOB_PARAM = 'job';
12
- const POLL_MS = 2_000;
12
+ // Realtime drives progress; this reconciles a failed best-effort announcement.
13
+ const POLL_MS = 60_000;
13
14
  /** Whether the viewer can ask AI now; nothing is asked of someone who may not create issues. */
14
15
  export function useIntakeAiAvailability() {
15
16
  const api = usePlanApi();
@@ -1 +1 @@
1
- {"version":3,"file":"use-intake-ai.js","sourceRoot":"","sources":["../../../../client/pages/intake/use-intake-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAuB,MAAM,uBAAuB,CAAC;AAMtE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE9D,6GAA6G;AAC7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,OAAO,GAAG,KAAK,CAAC;AAEtB,gGAAgG;AAChG,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE;QACzC,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,OAAO,EAAE,KAAK,KAAK,EAAE;QACrB,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;KAC3D,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"use-intake-ai.js","sourceRoot":"","sources":["../../../../client/pages/intake/use-intake-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAuB,MAAM,uBAAuB,CAAC;AAMtE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE9D,6GAA6G;AAC7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,+EAA+E;AAC/E,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,gGAAgG;AAChG,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE;QACzC,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,OAAO,EAAE,KAAK,KAAK,EAAE;QACrB,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;KAC3D,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-issue-activity.d.ts","sourceRoot":"","sources":["../../../../../client/pages/issues/detail/use-issue-activity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAUhE,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAIvB,mCAAmC;AACnC,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAoB,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,SAAS,WAAW,EAAO,EACjC,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,aAAa,CAwDf;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;CACX;AAED,0GAA0G;AAC1G,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,QAAQ,GAClB,mBAAmB,CAkGrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6GAA6G;AAC7G,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,UAAO,GACb,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAazD"}
1
+ {"version":3,"file":"use-issue-activity.d.ts","sourceRoot":"","sources":["../../../../../client/pages/issues/detail/use-issue-activity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAUhE,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAIvB,mCAAmC;AACnC,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAoB,CAAC;AAKxE,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,SAAS,WAAW,EAAO,EACjC,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,aAAa,CAqHf;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;CACX;AAED,0GAA0G;AAC1G,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,QAAQ,GAClB,mBAAmB,CAkGrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6GAA6G;AAC7G,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,UAAO,GACb,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAazD"}