@ai-matrx/chat 0.7.8 → 0.7.10

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 (24) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/agents/components/chat/chat-quick-actions.config.d.ts +0 -8
  3. package/dist/agents/components/chat/chat-quick-actions.config.js +2 -1
  4. package/dist/agents/components/messages-display/AgentConversationDisplay.d.ts +1 -2
  5. package/dist/agents/components/messages-display/AgentConversationDisplay.js +3 -7
  6. package/dist/agents/components/messages-display/assistant/AgentAssistantMessage.d.ts +1 -3
  7. package/dist/agents/components/messages-display/assistant/AgentAssistantMessage.js +1 -23
  8. package/dist/agents/components/messages-display/assistant/AssistantTurnGroup.d.ts +1 -2
  9. package/dist/agents/components/messages-display/assistant/AssistantTurnGroup.js +2 -4
  10. package/dist/agents/components/messages-display/assistant/answerless-turn.d.ts +0 -2
  11. package/dist/agents/components/messages-display/assistant/answerless-turn.js +0 -1
  12. package/dist/agents/components/shared/AgentConversationColumn.js +0 -1
  13. package/dist/agents/hooks/useHeadlessAgentJson.js +9 -1
  14. package/dist/agents/redux/execution-system/thunks/record-run-output-refused.d.ts +14 -0
  15. package/dist/agents/redux/execution-system/thunks/record-run-output-refused.js +24 -0
  16. package/dist/cx-chat/components/agent/agents.d.ts +0 -5
  17. package/dist/cx-chat/components/agent/agents.js +4 -3
  18. package/dist/cx-chat/components/agent/local-agents.d.ts +0 -6
  19. package/dist/cx-chat/components/agent/local-agents.js +3 -2
  20. package/dist/ui/mandates-storage/mandateStorage.d.ts +420 -0
  21. package/dist/ui/mandates-storage/shortcutStorage.d.ts +105 -0
  22. package/dist/ui/projectCreateAiDebug.d.ts +0 -5
  23. package/dist/ui/projectCreateAiDebug.js +2 -1
  24. package/package.json +28 -18
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @ai-matrx/chat
2
2
 
3
+ ## 0.7.10
4
+ ### a refused answer is a failed run (lane M3)
5
+
6
+ - **`useHeadlessAgentJson.run`**: when `coerce` refuses the answer the model gave, the run is recorded as failed
7
+ (`chat.user_request` status `failed`, `error` = the reason, `metadata.output_refused`) through the guarded
8
+ `mergeJsonColumn` write (`recordRunOutputRefused`); a write that does not land is a `console.error`. Before, the run
9
+ stayed `completed` with `error` null forever. The error is re-thrown unchanged for the surface to say plainly.
10
+ - **Consumer action:** none.
11
+
12
+ ## 0.7.9
13
+
14
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
15
+ `git diff npm/chat/v0.7.8..npm/chat/v0.7.9 -- apps/shared/chat`).
16
+ No source changes intended and no consumer action required.
17
+
3
18
  ## 0.7.8
4
19
 
5
20
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -9,6 +24,11 @@ No source changes intended and no consumer action required.
9
24
  ## 0.7.7
10
25
  ### Unreleased
11
26
 
27
+ - **No first-load layout shift from assistant messages** (spend register item 32): `AgentAssistantMessage` no longer swaps a fixed-height
28
+ skeleton for the markdown after 140 ms (measured CLS 0.48 on the run page). Persisted answers render in place on first paint.
29
+ `deferColdMarkdown` is removed from `AgentAssistantMessage`, `AssistantTurnGroup` and `AgentConversationDisplay` (the column keeps its
30
+ own history staging). **Consumer action:** none.
31
+
12
32
  - **`continueAgentJson`** (`agents/redux/execution-system/thunks/continue-agent-json`): the NEXT turn of a
13
33
  conversation whose first turn ran headlessly, waited on like the first (`adoptHeadlessAgentJson`). A turn is
14
34
  the person's words (`userInput`) or a turn the HOST writes (`hostTurn` — sent as `host_turn`, never
@@ -16,12 +16,4 @@
16
16
  * `/mandates`), never a code change.
17
17
  */
18
18
  export declare const DEFAULT_NEW_CHAT_MANDATE_KEY: "chat.default_new_chat";
19
- /**
20
- * SEED MIRROR of the mandate's system default — the id the mandate row was seeded
21
- * with, kept ONLY for static module-scope data that cannot resolve a mandate
22
- * (the ProTextarea "help" placeholder default). Everything on a runtime path
23
- * resolves `DEFAULT_NEW_CHAT_MANDATE_KEY` instead; adding a new read of this
24
- * constant is a defect (see features/mandates/FEATURE.md — the manifest
25
- * seed-mirror ruling).
26
- */
27
19
  export declare const DEFAULT_NEW_CHAT_AGENT_ID = "6b6b4e45-4699-4860-8dea-d8a60e07d69a";
@@ -1,6 +1,7 @@
1
1
  import { MANDATE_KEYS } from "@ai-matrx/agents/mandates";
2
2
  const DEFAULT_NEW_CHAT_MANDATE_KEY = MANDATE_KEYS.chat__default_new_chat;
3
- const DEFAULT_NEW_CHAT_AGENT_ID = "6b6b4e45-4699-4860-8dea-d8a60e07d69a";
3
+ const DEFAULT_NEW_CHAT_SEED_AGENT_ID = "6b6b4e45-4699-4860-8dea-d8a60e07d69a";
4
+ const DEFAULT_NEW_CHAT_AGENT_ID = DEFAULT_NEW_CHAT_SEED_AGENT_ID;
4
5
  export {
5
6
  DEFAULT_NEW_CHAT_AGENT_ID,
6
7
  DEFAULT_NEW_CHAT_MANDATE_KEY
@@ -8,9 +8,8 @@ interface AgentConversationDisplayProps {
8
8
  */
9
9
  surfaceKey?: string;
10
10
  compact?: boolean;
11
- deferColdMarkdown?: boolean;
12
11
  fallbackVisibleGroupLimit?: number | null;
13
12
  bottomPinned?: boolean;
14
13
  }
15
- export declare function AgentConversationDisplay({ conversationId, surfaceKey, compact, deferColdMarkdown, fallbackVisibleGroupLimit, bottomPinned, }: AgentConversationDisplayProps): import("react").JSX.Element;
14
+ export declare function AgentConversationDisplay({ conversationId, surfaceKey, compact, fallbackVisibleGroupLimit, bottomPinned, }: AgentConversationDisplayProps): import("react").JSX.Element;
16
15
  export {};
@@ -53,7 +53,6 @@ function AgentConversationDisplay({
53
53
  conversationId,
54
54
  surfaceKey,
55
55
  compact = false,
56
- deferColdMarkdown = false,
57
56
  fallbackVisibleGroupLimit = null,
58
57
  bottomPinned = false
59
58
  }) {
@@ -262,8 +261,7 @@ function AgentConversationDisplay({
262
261
  isStreamActive: false,
263
262
  surfaceKey,
264
263
  compact: true,
265
- hideActionBar: true,
266
- deferColdMarkdown
264
+ hideActionBar: true
267
265
  },
268
266
  member.messageId
269
267
  )
@@ -307,8 +305,7 @@ function AgentConversationDisplay({
307
305
  isStreamActive: group.isStreamActive,
308
306
  surfaceKey,
309
307
  compact,
310
- canRetry: group.canRetry,
311
- deferColdMarkdown
308
+ canRetry: group.canRetry
312
309
  }
313
310
  )
314
311
  },
@@ -327,8 +324,7 @@ function AgentConversationDisplay({
327
324
  conversationId,
328
325
  surfaceKey,
329
326
  compact,
330
- members: group.members,
331
- deferColdMarkdown
327
+ members: group.members
332
328
  }
333
329
  )
334
330
  },
@@ -33,8 +33,6 @@ export interface AgentAssistantMessageProps {
33
33
  * button. Retry is non-destructive (the failed turn stays in history).
34
34
  */
35
35
  canRetry?: boolean;
36
- /** Chat cold-load only: show a short text skeleton before DB markdown mounts. */
37
- deferColdMarkdown?: boolean;
38
36
  /**
39
37
  * False for the intermediate iterations of a multi-step agentic turn. Only
40
38
  * the LAST member of a turn carries the answer, so only it may say "this run
@@ -43,4 +41,4 @@ export interface AgentAssistantMessageProps {
43
41
  */
44
42
  isTurnAnswer?: boolean;
45
43
  }
46
- export declare function AgentAssistantMessage({ conversationId, requestId, messageId, isStreamActive, recordMessageIds, streamSlotStart, streamSlotEnd, surfaceKey, hideActionBar, canRetry, deferColdMarkdown, isTurnAnswer, }: AgentAssistantMessageProps): import("react").JSX.Element;
44
+ export declare function AgentAssistantMessage({ conversationId, requestId, messageId, isStreamActive, recordMessageIds, streamSlotStart, streamSlotEnd, surfaceKey, hideActionBar, canRetry, isTurnAnswer, }: AgentAssistantMessageProps): import("react").JSX.Element;
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import {
4
- startTransition,
5
4
  useCallback,
6
5
  useMemo,
7
6
  useState,
@@ -117,7 +116,6 @@ function AgentAssistantMessage({
117
116
  surfaceKey,
118
117
  hideActionBar = false,
119
118
  canRetry = false,
120
- deferColdMarkdown = false,
121
119
  isTurnAnswer = true
122
120
  }) {
123
121
  useDebugContext("AgentAssistantMessage");
@@ -137,17 +135,7 @@ function AgentAssistantMessage({
137
135
  }, [surfaceKey, conversationId, messageId, requestId, isStreamActive]);
138
136
  const dispatch = useAppDispatch();
139
137
  const [retrying, setRetrying] = useState(false);
140
- const shouldDeferColdMarkdown = deferColdMarkdown && !requestId && !!messageId && !isStreamActive;
141
- const [coldMarkdownSettledMessageId, setColdMarkdownSettledMessageId] = useState(null);
142
- const coldMarkdownReady = !shouldDeferColdMarkdown || coldMarkdownSettledMessageId === messageId;
143
138
  const [providerRetryBusyAction, setProviderRetryBusyAction] = useState(null);
144
- useEffect(() => {
145
- if (!shouldDeferColdMarkdown || !messageId) return void 0;
146
- const timer = window.setTimeout(() => {
147
- startTransition(() => setColdMarkdownSettledMessageId(messageId));
148
- }, 140);
149
- return () => window.clearTimeout(timer);
150
- }, [shouldDeferColdMarkdown, messageId]);
151
139
  const { captureRef, isCapturing, captureAsPDF } = useDomCapturePrint();
152
140
  const handleFullPrint = useCallback(() => {
153
141
  captureAsPDF({
@@ -308,7 +296,6 @@ function AgentAssistantMessage({
308
296
  rowParts: extractContentBlocks(record)
309
297
  }),
310
298
  failed,
311
- coldMarkdownReady,
312
299
  messageId,
313
300
  renderedText,
314
301
  attachmentCount: attachmentParts.length,
@@ -394,7 +381,7 @@ function AgentAssistantMessage({
394
381
  "data-message-id": messageId ?? void 0,
395
382
  className: "group/assistant-msg rounded transition-shadow",
396
383
  children: [
397
- !coldMarkdownReady ? /* @__PURE__ */ jsx(AssistantMarkdownSkeleton, {}) : bufferStream && isStreamActive && !failed ? /* @__PURE__ */ jsxs(Fragment, { children: [
384
+ bufferStream && isStreamActive && !failed ? /* @__PURE__ */ jsxs(Fragment, { children: [
398
385
  showProviderRetry && providerRetry && /* @__PURE__ */ jsx(
399
386
  ProviderRetryCard,
400
387
  {
@@ -538,15 +525,6 @@ function readErrorDoor(details) {
538
525
  const { label, href } = door;
539
526
  return typeof label === "string" && typeof href === "string" && href.startsWith("/") ? { label, href } : null;
540
527
  }
541
- function AssistantMarkdownSkeleton() {
542
- return /* @__PURE__ */ jsxs("div", { className: "space-y-2 py-1", "aria-hidden": true, children: [
543
- /* @__PURE__ */ jsx("div", { className: "h-3.5 w-[96%] animate-pulse rounded bg-muted/55" }),
544
- /* @__PURE__ */ jsx("div", { className: "h-3.5 w-[88%] animate-pulse rounded bg-muted/50" }),
545
- /* @__PURE__ */ jsx("div", { className: "h-3.5 w-[72%] animate-pulse rounded bg-muted/45" }),
546
- /* @__PURE__ */ jsx("div", { className: "h-3.5 w-[94%] animate-pulse rounded bg-muted/40" }),
547
- /* @__PURE__ */ jsx("div", { className: "h-3.5 w-[42%] animate-pulse rounded bg-muted/35" })
548
- ] });
549
- }
550
528
  export {
551
529
  AgentAssistantMessage
552
530
  };
@@ -16,7 +16,6 @@ interface AssistantTurnGroupProps {
16
16
  compact?: boolean;
17
17
  /** Every assistant member of this logical turn, in transcript order. */
18
18
  members: AssistantTurnGroupMember[];
19
- deferColdMarkdown?: boolean;
20
19
  }
21
- export declare function AssistantTurnGroup({ conversationId, surfaceKey, compact, members: rawMembers, deferColdMarkdown, }: AssistantTurnGroupProps): import("react").JSX.Element;
20
+ export declare function AssistantTurnGroup({ conversationId, surfaceKey, compact, members: rawMembers, }: AssistantTurnGroupProps): import("react").JSX.Element;
22
21
  export {};
@@ -26,8 +26,7 @@ function AssistantTurnGroup({
26
26
  conversationId,
27
27
  surfaceKey,
28
28
  compact = false,
29
- members: rawMembers,
30
- deferColdMarkdown = false
29
+ members: rawMembers
31
30
  }) {
32
31
  const { captureRef, isCapturing, captureAsPDF } = useDomCapturePrint();
33
32
  const persistedView = useAppSelector(
@@ -96,8 +95,7 @@ function AssistantTurnGroup({
96
95
  surfaceKey,
97
96
  compact,
98
97
  hideActionBar: true,
99
- isTurnAnswer: idx === members.length - 1 && m.streamSlotEnd === void 0,
100
- deferColdMarkdown: deferColdMarkdown && idx < members.length - 1
98
+ isTurnAnswer: idx === members.length - 1 && m.streamSlotEnd === void 0
101
99
  }
102
100
  ) }, m.key))
103
101
  }
@@ -113,8 +113,6 @@ export interface AnswerlessTurnInput {
113
113
  isStreamActive: boolean;
114
114
  /** True when the turn failed — the error path owns that case. */
115
115
  failed: boolean;
116
- /** False while a cold-load skeleton stands in for the persisted markdown. */
117
- coldMarkdownReady: boolean;
118
116
  /** `cx_message.id`; null/undefined until the row settles. */
119
117
  messageId: string | null | undefined;
120
118
  /** The text this turn renders (citation markers included). */
@@ -31,7 +31,6 @@ function isAnswerlessTurn(input) {
31
31
  if (input.isStreamActive) return false;
32
32
  if (input.awaitingPerson) return false;
33
33
  if (input.failed) return false;
34
- if (!input.coldMarkdownReady) return false;
35
34
  if (!input.messageId) return false;
36
35
  if (input.attachmentCount > 0) return false;
37
36
  if (input.mediaBlockCount > 0) return false;
@@ -299,7 +299,6 @@ function AgentConversationColumn({
299
299
  {
300
300
  conversationId: displayId,
301
301
  surfaceKey,
302
- deferColdMarkdown,
303
302
  bottomPinned: shouldPinColdScroll,
304
303
  fallbackVisibleGroupLimit: deferColdMarkdown ? chatVisibleGroupLimit ?? CHAT_INITIAL_VISIBLE_GROUPS : null
305
304
  }
@@ -3,6 +3,7 @@ import { useCallback, useState } from "react";
3
3
  import { useAppDispatch, useAppSelector, useAppStore } from "../../store/hooks.js";
4
4
  import { selectConversationRequestIds } from "../redux/execution-system/active-requests/active-requests.selectors.js";
5
5
  import { useRetainRequestForViewer } from "../redux/execution-system/active-requests/useRetainRequestForViewer.js";
6
+ import { recordRunOutputRefused } from "../redux/execution-system/thunks/record-run-output-refused.js";
6
7
  import {
7
8
  runHeadlessAgentJson
8
9
  } from "../redux/execution-system/thunks/run-headless-agent-json.js";
@@ -49,7 +50,14 @@ function useHeadlessAgentJson() {
49
50
  ...result.conversationId ? { conversationId: result.conversationId } : {}
50
51
  });
51
52
  }
52
- return opts.coerce ? opts.coerce(result.data, result) : result.data;
53
+ if (!opts.coerce) return result.data;
54
+ try {
55
+ return opts.coerce(result.data, result);
56
+ } catch (refused) {
57
+ const why = refused instanceof Error ? refused.message : String(refused);
58
+ if (result.requestId) void recordRunOutputRefused(result.requestId, why);
59
+ throw refused;
60
+ }
53
61
  } catch (e) {
54
62
  const message = e instanceof Error ? e.message : "Failed to run the agent";
55
63
  setError(message);
@@ -0,0 +1,14 @@
1
+ /**
2
+ * recordRunOutputRefused — a run whose answer the BROWSER refused is a failed run.
3
+ *
4
+ * The server marks a run `completed` the moment the model stops; whether the answer was usable is only
5
+ * known where it is read (the feature's `coerce`, its own check). Before this, such a run stayed
6
+ * `completed` with `error` null forever (Make's describe box, 2026-10-09: "personal" is not one of
7
+ * organization, individual). The refusal is written onto the run's own `chat.user_request` row —
8
+ * status `failed`, `error` = the reason, and `metadata.output_refused` — through the guarded
9
+ * read-modify-write (`mergeJsonColumn`, a version guard, never a blind update).
10
+ *
11
+ * Never silent: a write that does not land is a `console.error` naming the run.
12
+ */
13
+ export declare const OUTPUT_REFUSED_METADATA_KEY = "output_refused";
14
+ export declare function recordRunOutputRefused(requestId: string, reason: string): Promise<boolean>;
@@ -0,0 +1,24 @@
1
+ import { mergeJsonColumn } from "@ai-matrx/data/db";
2
+ import { supabase } from "../../../../host/db.js";
3
+ import { hasBrowserSession } from "../../../../host/identity.js";
4
+ const OUTPUT_REFUSED_METADATA_KEY = "output_refused";
5
+ async function recordRunOutputRefused(requestId, reason) {
6
+ if (!requestId || !await hasBrowserSession()) return false;
7
+ const result = await mergeJsonColumn({
8
+ fetchCurrent: () => supabase.schema("chat").from("user_request").select("id, version, metadata").eq("id", requestId).maybeSingle(),
9
+ readColumn: (row) => row.metadata,
10
+ merge: (current) => ({ ...current, [OUTPUT_REFUSED_METADATA_KEY]: { reason, at: (/* @__PURE__ */ new Date()).toISOString() } }),
11
+ applyUpdate: ({ value, expectedVersion, nextVersion }) => supabase.schema("chat").from("user_request").update({ metadata: value, version: nextVersion, status: "failed", error: reason.slice(0, 500) }).eq("id", requestId).eq("version", expectedVersion).select("id, version, metadata").maybeSingle()
12
+ });
13
+ if (result.status !== "saved") {
14
+ console.error(
15
+ `[run-output-refused] Could not record the refusal on run ${requestId}: ` + (result.status === "error" ? String(result.error) : `write ${result.status}`) + `. The run still reads as completed. Reason: ${reason}`
16
+ );
17
+ return false;
18
+ }
19
+ return true;
20
+ }
21
+ export {
22
+ OUTPUT_REFUSED_METADATA_KEY,
23
+ recordRunOutputRefused
24
+ };
@@ -5,11 +5,6 @@ import type { WelcomeAgent } from "../ChatWelcomeServer.js";
5
5
  * demo root page resolves it.
6
6
  */
7
7
  export declare const CX_DEFAULT_MANDATE_KEY: "chat.cx_default";
8
- /**
9
- * SEED MIRROR of the `chat.cx_default` mandate's system default — kept only
10
- * as the loud-fallback display seed (`getDefaultAgent`) when resolution fails
11
- * on this dev surface. Nothing launches from it.
12
- */
13
8
  export declare const DEFAULT_AGENT_ID = "ce7c5e71-cbdc-4ed1-8dd9-a7eac930b6b8";
14
9
  export declare const MATRX_CHAT_AGENT: WelcomeAgent;
15
10
  /**
@@ -1,8 +1,9 @@
1
1
  import { MANDATE_KEYS } from "@ai-matrx/agents/mandates";
2
2
  const CX_DEFAULT_MANDATE_KEY = MANDATE_KEYS.chat__cx_default;
3
- const DEFAULT_AGENT_ID = "ce7c5e71-cbdc-4ed1-8dd9-a7eac930b6b8";
3
+ const MATRX_CHAT_SEED_AGENT_ID = "ce7c5e71-cbdc-4ed1-8dd9-a7eac930b6b8";
4
+ const DEFAULT_AGENT_ID = MATRX_CHAT_SEED_AGENT_ID;
4
5
  const MATRX_CHAT_AGENT = {
5
- promptId: "ce7c5e71-cbdc-4ed1-8dd9-a7eac930b6b8",
6
+ promptId: MATRX_CHAT_SEED_AGENT_ID,
6
7
  name: "Matrx Chat",
7
8
  description: "Fully customizable agent.",
8
9
  variableDefaults: [
@@ -86,7 +87,7 @@ const MATRX_CHAT_AGENT = {
86
87
  ]
87
88
  };
88
89
  const BUILTIN_AGENTS = {
89
- "ce7c5e71-cbdc-4ed1-8dd9-a7eac930b6b8": MATRX_CHAT_AGENT,
90
+ [MATRX_CHAT_SEED_AGENT_ID]: MATRX_CHAT_AGENT,
90
91
  "3ca61863-43cf-49cd-8da5-7e0a4b192867": {
91
92
  promptId: "3ca61863-43cf-49cd-8da5-7e0a4b192867",
92
93
  name: "Custom Chat",
@@ -9,12 +9,6 @@ export interface AgentOption {
9
9
  promptId: string;
10
10
  variableDefaults?: VariableDefinition[];
11
11
  }
12
- /**
13
- * SEED MIRROR of the `chat.default_new_chat` mandate's system default. Runtime
14
- * paths resolve the mandate (see `features/mandates`); this constant remains
15
- * only as the demo conversation page's loud-fallback and for the (currently
16
- * unconsumed) `useInstanceBootstrap` URL-parse fallback.
17
- */
18
12
  export declare const DEFAULT_AGENT_ID = "6b6b4e45-4699-4860-8dea-d8a60e07d69a";
19
13
  export declare const DEFAULT_AGENTS: AgentOption[];
20
14
  /** The response-mode strip under the composer, in render order. */
@@ -8,14 +8,15 @@ import {
8
8
  Lightbulb
9
9
  } from "lucide-react";
10
10
  import { MANDATE_KEYS } from "@ai-matrx/agents/mandates";
11
- const DEFAULT_AGENT_ID = "6b6b4e45-4699-4860-8dea-d8a60e07d69a";
11
+ const GENERAL_CHAT_SEED_AGENT_ID = "6b6b4e45-4699-4860-8dea-d8a60e07d69a";
12
+ const DEFAULT_AGENT_ID = GENERAL_CHAT_SEED_AGENT_ID;
12
13
  const DEFAULT_AGENTS = [
13
14
  {
14
15
  id: "general-chat",
15
16
  name: "General Chat",
16
17
  description: "Helpful general assistant.",
17
18
  icon: React.createElement(MessageCircle, { size: 18 }),
18
- promptId: "6b6b4e45-4699-4860-8dea-d8a60e07d69a",
19
+ promptId: GENERAL_CHAT_SEED_AGENT_ID,
19
20
  variableDefaults: []
20
21
  },
21
22
  {
@@ -935,6 +935,87 @@ declare const definitionTable: (supabase: Client) => import("@supabase/supabase-
935
935
  };
936
936
  Relationships: [];
937
937
  };
938
+ readiness_verdict: {
939
+ Row: {
940
+ checked_at: string;
941
+ created_at: string;
942
+ created_by: string | null;
943
+ deleted_at: string | null;
944
+ door: string | null;
945
+ id: string;
946
+ mandate_key: string;
947
+ metadata: Json;
948
+ missing: Json;
949
+ organization_id: string;
950
+ published_to_web: boolean;
951
+ published_to_web_at: string | null;
952
+ published_to_web_by: string | null;
953
+ ready: boolean;
954
+ refused_count: number;
955
+ required: Json;
956
+ scope: Json;
957
+ scope_key: string;
958
+ shown_to: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
959
+ summary: string | null;
960
+ updated_at: string;
961
+ updated_by: string | null;
962
+ version: number;
963
+ visibility: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
964
+ };
965
+ Insert: {
966
+ checked_at?: string;
967
+ created_at?: string;
968
+ created_by?: string | null;
969
+ deleted_at?: string | null;
970
+ door?: string | null;
971
+ id?: string;
972
+ mandate_key: string;
973
+ metadata?: Json;
974
+ missing?: Json;
975
+ organization_id: string;
976
+ published_to_web?: boolean;
977
+ published_to_web_at?: string | null;
978
+ published_to_web_by?: string | null;
979
+ ready: boolean;
980
+ refused_count?: number;
981
+ required?: Json;
982
+ scope?: Json;
983
+ scope_key: string;
984
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
985
+ summary?: string | null;
986
+ updated_at?: string;
987
+ updated_by?: string | null;
988
+ version?: number;
989
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
990
+ };
991
+ Update: {
992
+ checked_at?: string;
993
+ created_at?: string;
994
+ created_by?: string | null;
995
+ deleted_at?: string | null;
996
+ door?: string | null;
997
+ id?: string;
998
+ mandate_key?: string;
999
+ metadata?: Json;
1000
+ missing?: Json;
1001
+ organization_id?: string;
1002
+ published_to_web?: boolean;
1003
+ published_to_web_at?: string | null;
1004
+ published_to_web_by?: string | null;
1005
+ ready?: boolean;
1006
+ refused_count?: number;
1007
+ required?: Json;
1008
+ scope?: Json;
1009
+ scope_key?: string;
1010
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
1011
+ summary?: string | null;
1012
+ updated_at?: string;
1013
+ updated_by?: string | null;
1014
+ version?: number;
1015
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
1016
+ };
1017
+ Relationships: [];
1018
+ };
938
1019
  reference: {
939
1020
  Row: {
940
1021
  caller_identity_hash: string | null;
@@ -1825,6 +1906,12 @@ declare const definitionTable: (supabase: Client) => import("@supabase/supabase-
1825
1906
  version_live: boolean;
1826
1907
  }[];
1827
1908
  };
1909
+ admin_run_counts: {
1910
+ Args: {
1911
+ p_since: string;
1912
+ };
1913
+ Returns: Json;
1914
+ };
1828
1915
  binding_holder_runnable: {
1829
1916
  Args: {
1830
1917
  p_holder_id: string;
@@ -1904,6 +1991,24 @@ declare const definitionTable: (supabase: Client) => import("@supabase/supabase-
1904
1991
  };
1905
1992
  Returns: string[];
1906
1993
  };
1994
+ record_readiness_verdict: {
1995
+ Args: {
1996
+ p_door: string;
1997
+ p_mandate_key: string;
1998
+ p_missing: Json;
1999
+ p_organization_id: string;
2000
+ p_ready: boolean;
2001
+ p_required: Json;
2002
+ p_scope: Json;
2003
+ p_scope_key: string;
2004
+ p_summary: string;
2005
+ };
2006
+ Returns: {
2007
+ id: string;
2008
+ ready: boolean;
2009
+ refused_count: number;
2010
+ }[];
2011
+ };
1907
2012
  reference_head: {
1908
2013
  Args: never;
1909
2014
  Returns: {
@@ -3097,6 +3202,87 @@ declare const provisionTable: (supabase: Client) => import("@supabase/supabase-j
3097
3202
  };
3098
3203
  Relationships: [];
3099
3204
  };
3205
+ readiness_verdict: {
3206
+ Row: {
3207
+ checked_at: string;
3208
+ created_at: string;
3209
+ created_by: string | null;
3210
+ deleted_at: string | null;
3211
+ door: string | null;
3212
+ id: string;
3213
+ mandate_key: string;
3214
+ metadata: Json;
3215
+ missing: Json;
3216
+ organization_id: string;
3217
+ published_to_web: boolean;
3218
+ published_to_web_at: string | null;
3219
+ published_to_web_by: string | null;
3220
+ ready: boolean;
3221
+ refused_count: number;
3222
+ required: Json;
3223
+ scope: Json;
3224
+ scope_key: string;
3225
+ shown_to: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
3226
+ summary: string | null;
3227
+ updated_at: string;
3228
+ updated_by: string | null;
3229
+ version: number;
3230
+ visibility: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
3231
+ };
3232
+ Insert: {
3233
+ checked_at?: string;
3234
+ created_at?: string;
3235
+ created_by?: string | null;
3236
+ deleted_at?: string | null;
3237
+ door?: string | null;
3238
+ id?: string;
3239
+ mandate_key: string;
3240
+ metadata?: Json;
3241
+ missing?: Json;
3242
+ organization_id: string;
3243
+ published_to_web?: boolean;
3244
+ published_to_web_at?: string | null;
3245
+ published_to_web_by?: string | null;
3246
+ ready: boolean;
3247
+ refused_count?: number;
3248
+ required?: Json;
3249
+ scope?: Json;
3250
+ scope_key: string;
3251
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
3252
+ summary?: string | null;
3253
+ updated_at?: string;
3254
+ updated_by?: string | null;
3255
+ version?: number;
3256
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
3257
+ };
3258
+ Update: {
3259
+ checked_at?: string;
3260
+ created_at?: string;
3261
+ created_by?: string | null;
3262
+ deleted_at?: string | null;
3263
+ door?: string | null;
3264
+ id?: string;
3265
+ mandate_key?: string;
3266
+ metadata?: Json;
3267
+ missing?: Json;
3268
+ organization_id?: string;
3269
+ published_to_web?: boolean;
3270
+ published_to_web_at?: string | null;
3271
+ published_to_web_by?: string | null;
3272
+ ready?: boolean;
3273
+ refused_count?: number;
3274
+ required?: Json;
3275
+ scope?: Json;
3276
+ scope_key?: string;
3277
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
3278
+ summary?: string | null;
3279
+ updated_at?: string;
3280
+ updated_by?: string | null;
3281
+ version?: number;
3282
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
3283
+ };
3284
+ Relationships: [];
3285
+ };
3100
3286
  reference: {
3101
3287
  Row: {
3102
3288
  caller_identity_hash: string | null;
@@ -3987,6 +4173,12 @@ declare const provisionTable: (supabase: Client) => import("@supabase/supabase-j
3987
4173
  version_live: boolean;
3988
4174
  }[];
3989
4175
  };
4176
+ admin_run_counts: {
4177
+ Args: {
4178
+ p_since: string;
4179
+ };
4180
+ Returns: Json;
4181
+ };
3990
4182
  binding_holder_runnable: {
3991
4183
  Args: {
3992
4184
  p_holder_id: string;
@@ -4066,6 +4258,24 @@ declare const provisionTable: (supabase: Client) => import("@supabase/supabase-j
4066
4258
  };
4067
4259
  Returns: string[];
4068
4260
  };
4261
+ record_readiness_verdict: {
4262
+ Args: {
4263
+ p_door: string;
4264
+ p_mandate_key: string;
4265
+ p_missing: Json;
4266
+ p_organization_id: string;
4267
+ p_ready: boolean;
4268
+ p_required: Json;
4269
+ p_scope: Json;
4270
+ p_scope_key: string;
4271
+ p_summary: string;
4272
+ };
4273
+ Returns: {
4274
+ id: string;
4275
+ ready: boolean;
4276
+ refused_count: number;
4277
+ }[];
4278
+ };
4069
4279
  reference_head: {
4070
4280
  Args: never;
4071
4281
  Returns: {
@@ -5154,6 +5364,87 @@ declare const bindingTable: (supabase: Client) => import("@supabase/supabase-js"
5154
5364
  };
5155
5365
  Relationships: [];
5156
5366
  };
5367
+ readiness_verdict: {
5368
+ Row: {
5369
+ checked_at: string;
5370
+ created_at: string;
5371
+ created_by: string | null;
5372
+ deleted_at: string | null;
5373
+ door: string | null;
5374
+ id: string;
5375
+ mandate_key: string;
5376
+ metadata: Json;
5377
+ missing: Json;
5378
+ organization_id: string;
5379
+ published_to_web: boolean;
5380
+ published_to_web_at: string | null;
5381
+ published_to_web_by: string | null;
5382
+ ready: boolean;
5383
+ refused_count: number;
5384
+ required: Json;
5385
+ scope: Json;
5386
+ scope_key: string;
5387
+ shown_to: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
5388
+ summary: string | null;
5389
+ updated_at: string;
5390
+ updated_by: string | null;
5391
+ version: number;
5392
+ visibility: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
5393
+ };
5394
+ Insert: {
5395
+ checked_at?: string;
5396
+ created_at?: string;
5397
+ created_by?: string | null;
5398
+ deleted_at?: string | null;
5399
+ door?: string | null;
5400
+ id?: string;
5401
+ mandate_key: string;
5402
+ metadata?: Json;
5403
+ missing?: Json;
5404
+ organization_id: string;
5405
+ published_to_web?: boolean;
5406
+ published_to_web_at?: string | null;
5407
+ published_to_web_by?: string | null;
5408
+ ready: boolean;
5409
+ refused_count?: number;
5410
+ required?: Json;
5411
+ scope?: Json;
5412
+ scope_key: string;
5413
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
5414
+ summary?: string | null;
5415
+ updated_at?: string;
5416
+ updated_by?: string | null;
5417
+ version?: number;
5418
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
5419
+ };
5420
+ Update: {
5421
+ checked_at?: string;
5422
+ created_at?: string;
5423
+ created_by?: string | null;
5424
+ deleted_at?: string | null;
5425
+ door?: string | null;
5426
+ id?: string;
5427
+ mandate_key?: string;
5428
+ metadata?: Json;
5429
+ missing?: Json;
5430
+ organization_id?: string;
5431
+ published_to_web?: boolean;
5432
+ published_to_web_at?: string | null;
5433
+ published_to_web_by?: string | null;
5434
+ ready?: boolean;
5435
+ refused_count?: number;
5436
+ required?: Json;
5437
+ scope?: Json;
5438
+ scope_key?: string;
5439
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
5440
+ summary?: string | null;
5441
+ updated_at?: string;
5442
+ updated_by?: string | null;
5443
+ version?: number;
5444
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
5445
+ };
5446
+ Relationships: [];
5447
+ };
5157
5448
  reference: {
5158
5449
  Row: {
5159
5450
  caller_identity_hash: string | null;
@@ -6044,6 +6335,12 @@ declare const bindingTable: (supabase: Client) => import("@supabase/supabase-js"
6044
6335
  version_live: boolean;
6045
6336
  }[];
6046
6337
  };
6338
+ admin_run_counts: {
6339
+ Args: {
6340
+ p_since: string;
6341
+ };
6342
+ Returns: Json;
6343
+ };
6047
6344
  binding_holder_runnable: {
6048
6345
  Args: {
6049
6346
  p_holder_id: string;
@@ -6123,6 +6420,24 @@ declare const bindingTable: (supabase: Client) => import("@supabase/supabase-js"
6123
6420
  };
6124
6421
  Returns: string[];
6125
6422
  };
6423
+ record_readiness_verdict: {
6424
+ Args: {
6425
+ p_door: string;
6426
+ p_mandate_key: string;
6427
+ p_missing: Json;
6428
+ p_organization_id: string;
6429
+ p_ready: boolean;
6430
+ p_required: Json;
6431
+ p_scope: Json;
6432
+ p_scope_key: string;
6433
+ p_summary: string;
6434
+ };
6435
+ Returns: {
6436
+ id: string;
6437
+ ready: boolean;
6438
+ refused_count: number;
6439
+ }[];
6440
+ };
6126
6441
  reference_head: {
6127
6442
  Args: never;
6128
6443
  Returns: {
@@ -7259,6 +7574,87 @@ declare const treatmentTable: (supabase: Client) => import("@supabase/supabase-j
7259
7574
  };
7260
7575
  Relationships: [];
7261
7576
  };
7577
+ readiness_verdict: {
7578
+ Row: {
7579
+ checked_at: string;
7580
+ created_at: string;
7581
+ created_by: string | null;
7582
+ deleted_at: string | null;
7583
+ door: string | null;
7584
+ id: string;
7585
+ mandate_key: string;
7586
+ metadata: Json;
7587
+ missing: Json;
7588
+ organization_id: string;
7589
+ published_to_web: boolean;
7590
+ published_to_web_at: string | null;
7591
+ published_to_web_by: string | null;
7592
+ ready: boolean;
7593
+ refused_count: number;
7594
+ required: Json;
7595
+ scope: Json;
7596
+ scope_key: string;
7597
+ shown_to: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
7598
+ summary: string | null;
7599
+ updated_at: string;
7600
+ updated_by: string | null;
7601
+ version: number;
7602
+ visibility: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
7603
+ };
7604
+ Insert: {
7605
+ checked_at?: string;
7606
+ created_at?: string;
7607
+ created_by?: string | null;
7608
+ deleted_at?: string | null;
7609
+ door?: string | null;
7610
+ id?: string;
7611
+ mandate_key: string;
7612
+ metadata?: Json;
7613
+ missing?: Json;
7614
+ organization_id: string;
7615
+ published_to_web?: boolean;
7616
+ published_to_web_at?: string | null;
7617
+ published_to_web_by?: string | null;
7618
+ ready: boolean;
7619
+ refused_count?: number;
7620
+ required?: Json;
7621
+ scope?: Json;
7622
+ scope_key: string;
7623
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
7624
+ summary?: string | null;
7625
+ updated_at?: string;
7626
+ updated_by?: string | null;
7627
+ version?: number;
7628
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
7629
+ };
7630
+ Update: {
7631
+ checked_at?: string;
7632
+ created_at?: string;
7633
+ created_by?: string | null;
7634
+ deleted_at?: string | null;
7635
+ door?: string | null;
7636
+ id?: string;
7637
+ mandate_key?: string;
7638
+ metadata?: Json;
7639
+ missing?: Json;
7640
+ organization_id?: string;
7641
+ published_to_web?: boolean;
7642
+ published_to_web_at?: string | null;
7643
+ published_to_web_by?: string | null;
7644
+ ready?: boolean;
7645
+ refused_count?: number;
7646
+ required?: Json;
7647
+ scope?: Json;
7648
+ scope_key?: string;
7649
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
7650
+ summary?: string | null;
7651
+ updated_at?: string;
7652
+ updated_by?: string | null;
7653
+ version?: number;
7654
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
7655
+ };
7656
+ Relationships: [];
7657
+ };
7262
7658
  reference: {
7263
7659
  Row: {
7264
7660
  caller_identity_hash: string | null;
@@ -8149,6 +8545,12 @@ declare const treatmentTable: (supabase: Client) => import("@supabase/supabase-j
8149
8545
  version_live: boolean;
8150
8546
  }[];
8151
8547
  };
8548
+ admin_run_counts: {
8549
+ Args: {
8550
+ p_since: string;
8551
+ };
8552
+ Returns: Json;
8553
+ };
8152
8554
  binding_holder_runnable: {
8153
8555
  Args: {
8154
8556
  p_holder_id: string;
@@ -8228,6 +8630,24 @@ declare const treatmentTable: (supabase: Client) => import("@supabase/supabase-j
8228
8630
  };
8229
8631
  Returns: string[];
8230
8632
  };
8633
+ record_readiness_verdict: {
8634
+ Args: {
8635
+ p_door: string;
8636
+ p_mandate_key: string;
8637
+ p_missing: Json;
8638
+ p_organization_id: string;
8639
+ p_ready: boolean;
8640
+ p_required: Json;
8641
+ p_scope: Json;
8642
+ p_scope_key: string;
8643
+ p_summary: string;
8644
+ };
8645
+ Returns: {
8646
+ id: string;
8647
+ ready: boolean;
8648
+ refused_count: number;
8649
+ }[];
8650
+ };
8231
8651
  reference_head: {
8232
8652
  Args: never;
8233
8653
  Returns: {
@@ -5165,6 +5165,87 @@ declare const mandateContextMenuView: (supabase: Client) => import("@supabase/su
5165
5165
  };
5166
5166
  Relationships: [];
5167
5167
  };
5168
+ readiness_verdict: {
5169
+ Row: {
5170
+ checked_at: string;
5171
+ created_at: string;
5172
+ created_by: string | null;
5173
+ deleted_at: string | null;
5174
+ door: string | null;
5175
+ id: string;
5176
+ mandate_key: string;
5177
+ metadata: import("@ai-matrx/data/types").Json;
5178
+ missing: import("@ai-matrx/data/types").Json;
5179
+ organization_id: string;
5180
+ published_to_web: boolean;
5181
+ published_to_web_at: string | null;
5182
+ published_to_web_by: string | null;
5183
+ ready: boolean;
5184
+ refused_count: number;
5185
+ required: import("@ai-matrx/data/types").Json;
5186
+ scope: import("@ai-matrx/data/types").Json;
5187
+ scope_key: string;
5188
+ shown_to: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
5189
+ summary: string | null;
5190
+ updated_at: string;
5191
+ updated_by: string | null;
5192
+ version: number;
5193
+ visibility: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
5194
+ };
5195
+ Insert: {
5196
+ checked_at?: string;
5197
+ created_at?: string;
5198
+ created_by?: string | null;
5199
+ deleted_at?: string | null;
5200
+ door?: string | null;
5201
+ id?: string;
5202
+ mandate_key: string;
5203
+ metadata?: import("@ai-matrx/data/types").Json;
5204
+ missing?: import("@ai-matrx/data/types").Json;
5205
+ organization_id: string;
5206
+ published_to_web?: boolean;
5207
+ published_to_web_at?: string | null;
5208
+ published_to_web_by?: string | null;
5209
+ ready: boolean;
5210
+ refused_count?: number;
5211
+ required?: import("@ai-matrx/data/types").Json;
5212
+ scope?: import("@ai-matrx/data/types").Json;
5213
+ scope_key: string;
5214
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
5215
+ summary?: string | null;
5216
+ updated_at?: string;
5217
+ updated_by?: string | null;
5218
+ version?: number;
5219
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
5220
+ };
5221
+ Update: {
5222
+ checked_at?: string;
5223
+ created_at?: string;
5224
+ created_by?: string | null;
5225
+ deleted_at?: string | null;
5226
+ door?: string | null;
5227
+ id?: string;
5228
+ mandate_key?: string;
5229
+ metadata?: import("@ai-matrx/data/types").Json;
5230
+ missing?: import("@ai-matrx/data/types").Json;
5231
+ organization_id?: string;
5232
+ published_to_web?: boolean;
5233
+ published_to_web_at?: string | null;
5234
+ published_to_web_by?: string | null;
5235
+ ready?: boolean;
5236
+ refused_count?: number;
5237
+ required?: import("@ai-matrx/data/types").Json;
5238
+ scope?: import("@ai-matrx/data/types").Json;
5239
+ scope_key?: string;
5240
+ shown_to?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["shown_to"] | null;
5241
+ summary?: string | null;
5242
+ updated_at?: string;
5243
+ updated_by?: string | null;
5244
+ version?: number;
5245
+ visibility?: import("@ai-matrx/data/types").Database["platform"]["Enums"]["visibility"];
5246
+ };
5247
+ Relationships: [];
5248
+ };
5168
5249
  reference: {
5169
5250
  Row: {
5170
5251
  caller_identity_hash: string | null;
@@ -6055,6 +6136,12 @@ declare const mandateContextMenuView: (supabase: Client) => import("@supabase/su
6055
6136
  version_live: boolean;
6056
6137
  }[];
6057
6138
  };
6139
+ admin_run_counts: {
6140
+ Args: {
6141
+ p_since: string;
6142
+ };
6143
+ Returns: import("@ai-matrx/data/types").Json;
6144
+ };
6058
6145
  binding_holder_runnable: {
6059
6146
  Args: {
6060
6147
  p_holder_id: string;
@@ -6134,6 +6221,24 @@ declare const mandateContextMenuView: (supabase: Client) => import("@supabase/su
6134
6221
  };
6135
6222
  Returns: string[];
6136
6223
  };
6224
+ record_readiness_verdict: {
6225
+ Args: {
6226
+ p_door: string;
6227
+ p_mandate_key: string;
6228
+ p_missing: import("@ai-matrx/data/types").Json;
6229
+ p_organization_id: string;
6230
+ p_ready: boolean;
6231
+ p_required: import("@ai-matrx/data/types").Json;
6232
+ p_scope: import("@ai-matrx/data/types").Json;
6233
+ p_scope_key: string;
6234
+ p_summary: string;
6235
+ };
6236
+ Returns: {
6237
+ id: string;
6238
+ ready: boolean;
6239
+ refused_count: number;
6240
+ }[];
6241
+ };
6137
6242
  reference_head: {
6138
6243
  Args: never;
6139
6244
  Returns: {
@@ -11,11 +11,6 @@ import type { SourceFeature } from "../agents/types/instance.types.js";
11
11
  * user's own binding).
12
12
  */
13
13
  export declare const PROJECT_CREATE_MANDATE_KEY: "projects.creation_guide";
14
- /**
15
- * SEED MIRROR of the mandate's system default — kept only so
16
- * `isProjectCreateFlow` can still recognize legacy launches by agent id;
17
- * flow detection primarily keys on `sourceFeature`. Never mount this id.
18
- */
19
14
  export declare const PROJECT_CREATE_AGENT_ID = "917074a0-fc06-4ff4-9805-4a517e04d08b";
20
15
  export declare const PROJECT_CREATE_SOURCE_FEATURE: SourceFeature;
21
16
  export declare function isProjectCreateFlow(sourceFeature: SourceFeature | undefined, agentId?: string | null): boolean;
@@ -1,6 +1,7 @@
1
1
  import { MANDATE_KEYS } from "@ai-matrx/agents/mandates";
2
2
  const PROJECT_CREATE_MANDATE_KEY = MANDATE_KEYS.projects__creation_guide;
3
- const PROJECT_CREATE_AGENT_ID = "917074a0-fc06-4ff4-9805-4a517e04d08b";
3
+ const PROJECT_CREATE_SEED_AGENT_ID = "917074a0-fc06-4ff4-9805-4a517e04d08b";
4
+ const PROJECT_CREATE_AGENT_ID = PROJECT_CREATE_SEED_AGENT_ID;
4
5
  const PROJECT_CREATE_SOURCE_FEATURE = "projects";
5
6
  const LOG_PREFIX = "[ProjectCreate\xB7AI]";
6
7
  function isProjectCreateFlow(sourceFeature, agentId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-matrx/chat",
3
- "version": "0.7.8",
3
+ "version": "0.7.10",
4
4
  "description": "THE one AI Matrx person-to-agent chat system: the full chat (running agents, conversations, tool calls, streaming, context, surfaces, voice) as explicit per-module subpaths @ai-matrx/chat/<domain>/<module> (no wildcards: scripts/public-modules.json) over a host contract (/host, /host/react) whose only required value is a db. One chat, one renderer: the old kernel entries (., /external-store, /matrx, /react, /tools, styles.css, tokens.css) are retired.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -120,6 +120,11 @@
120
120
  "import": "./dist/agents/agents-hub-catalog-filter-contract.js",
121
121
  "default": "./dist/agents/agents-hub-catalog-filter-contract.js"
122
122
  },
123
+ "./agents/api/fetch-pending-calls": {
124
+ "types": "./dist/agents/api/fetch-pending-calls.d.ts",
125
+ "import": "./dist/agents/api/fetch-pending-calls.js",
126
+ "default": "./dist/agents/api/fetch-pending-calls.js"
127
+ },
123
128
  "./agents/api/person-declined-tool-output": {
124
129
  "types": "./dist/agents/api/person-declined-tool-output.d.ts",
125
130
  "import": "./dist/agents/api/person-declined-tool-output.js",
@@ -2130,6 +2135,11 @@
2130
2135
  "import": "./dist/agents/redux/execution-system/thunks/adopt-foreign-stream.js",
2131
2136
  "default": "./dist/agents/redux/execution-system/thunks/adopt-foreign-stream.js"
2132
2137
  },
2138
+ "./agents/redux/execution-system/thunks/call-conversation-api": {
2139
+ "types": "./dist/agents/redux/execution-system/thunks/call-conversation-api.d.ts",
2140
+ "import": "./dist/agents/redux/execution-system/thunks/call-conversation-api.js",
2141
+ "default": "./dist/agents/redux/execution-system/thunks/call-conversation-api.js"
2142
+ },
2133
2143
  "./agents/redux/execution-system/thunks/conversation-bundle": {
2134
2144
  "types": "./dist/agents/redux/execution-system/thunks/conversation-bundle.d.ts",
2135
2145
  "import": "./dist/agents/redux/execution-system/thunks/conversation-bundle.js",
@@ -2180,11 +2190,6 @@
2180
2190
  "import": "./dist/agents/redux/execution-system/thunks/launch-conversation.thunk.js",
2181
2191
  "default": "./dist/agents/redux/execution-system/thunks/launch-conversation.thunk.js"
2182
2192
  },
2183
- "./agents/redux/execution-system/thunks/continue-agent-json": {
2184
- "types": "./dist/agents/redux/execution-system/thunks/continue-agent-json.d.ts",
2185
- "import": "./dist/agents/redux/execution-system/thunks/continue-agent-json.js",
2186
- "default": "./dist/agents/redux/execution-system/thunks/continue-agent-json.js"
2187
- },
2188
2193
  "./agents/redux/execution-system/thunks/load-agent-call-child.thunk": {
2189
2194
  "types": "./dist/agents/redux/execution-system/thunks/load-agent-call-child.thunk.d.ts",
2190
2195
  "import": "./dist/agents/redux/execution-system/thunks/load-agent-call-child.thunk.js",
@@ -3105,6 +3110,11 @@
3105
3110
  "import": "./dist/host/react.js",
3106
3111
  "default": "./dist/host/react.js"
3107
3112
  },
3113
+ "./host/request-headers": {
3114
+ "types": "./dist/host/request-headers.d.ts",
3115
+ "import": "./dist/host/request-headers.js",
3116
+ "default": "./dist/host/request-headers.js"
3117
+ },
3108
3118
  "./host/server-deps": {
3109
3119
  "types": "./dist/host/server-deps.d.ts",
3110
3120
  "import": "./dist/host/server-deps.js",
@@ -4671,25 +4681,25 @@
4671
4681
  "server-only": "^0.0.1",
4672
4682
  "uuid": "^14.0.2",
4673
4683
  "zod": "^4.6.5",
4674
- "@ai-matrx/agents": "latest",
4675
4684
  "@ai-matrx/alchemy": "latest",
4685
+ "@ai-matrx/associations": "latest",
4676
4686
  "@ai-matrx/browser-audio": "latest",
4677
4687
  "@ai-matrx/canvas": "latest",
4678
4688
  "@ai-matrx/content-ir": "latest",
4679
- "@ai-matrx/data": "latest",
4680
- "@ai-matrx/design-system": "latest",
4681
- "@ai-matrx/associations": "latest",
4689
+ "@ai-matrx/content-ir-react": "latest",
4690
+ "@ai-matrx/agents": "latest",
4691
+ "@ai-matrx/icons": "latest",
4692
+ "@ai-matrx/diff": "latest",
4682
4693
  "@ai-matrx/media": "latest",
4694
+ "@ai-matrx/kit": "latest",
4683
4695
  "@ai-matrx/print": "latest",
4684
- "@ai-matrx/records": "latest",
4696
+ "@ai-matrx/realtime": "latest",
4685
4697
  "@ai-matrx/records-ui": "latest",
4698
+ "@ai-matrx/design-system": "latest",
4686
4699
  "@ai-matrx/rich-content": "latest",
4687
- "@ai-matrx/rich-editor": "latest",
4688
- "@ai-matrx/content-ir-react": "latest",
4689
- "@ai-matrx/realtime": "latest",
4690
- "@ai-matrx/icons": "latest",
4691
- "@ai-matrx/diff": "latest",
4692
- "@ai-matrx/kit": "latest"
4700
+ "@ai-matrx/records": "latest",
4701
+ "@ai-matrx/data": "latest",
4702
+ "@ai-matrx/rich-editor": "latest"
4693
4703
  },
4694
4704
  "devDependencies": {
4695
4705
  "@arethetypeswrong/cli": "^0.18.5",
@@ -4808,5 +4818,5 @@
4808
4818
  "check:side-effects": "node ../scripts/check-side-effects-listed.mjs . && node ../scripts/check-side-effects-listed.mjs --self-test",
4809
4819
  "check:public-surface": "node ./scripts/sync-public-surface.mjs --check && node ./scripts/sync-public-surface.mjs --self-test"
4810
4820
  },
4811
- "gitHead": "4c54bc1bb8dc51252d281330da514c601944e0ad"
4821
+ "gitHead": "c1236d2d5f8a42087300bafce53317efb25700af"
4812
4822
  }