@scribed/cli 0.1.62 → 0.1.63

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.
package/dist/index.js CHANGED
@@ -64749,7 +64749,7 @@ function buildAgentMemberTools(h) {
64749
64749
  const target3 = (a, ws) => `${base6(ws)}/${encodeURIComponent(a.agentUserId)}`;
64750
64750
  return {
64751
64751
  agent_members_catalog: h.workspaceRestTool({
64752
- description: "Read this workspace’s worker catalog: the Hired worker and its available skills (personas[] — the single new-hire entry with skills[] of { id, label, detail }; describe supported work only from these and the available abilities), the one flat day price (price.dayPrice — feature agent.member.day, a USD amount per day with its label — plus the model allowance text, the terms revision and the terms URL; price is null when hiring is unavailable), lines.assignableCount (unassigned workspace phone lines, each one of the team’s shared lines; a hire takes one by default only while another stays with the team, and assignLine: true may take the last one), modelTiers (the model classes a hire may run on — economy, standard, premium — each with its models and isDefault), billing, configuration, quota, canHire, the contract revision and whether the account’s worker terms are already accepted. Before a hire or adoption show the human manager the day price, the allowance and the terms revision exactly as returned and get their explicit confirmation; never invent a price or terms. There is no offer id: the hire records a snapshot of the displayed price.",
64752
+ description: "Read this workspace’s worker catalog: the Hired worker and its available skills (personas[] — the single new-hire entry with skills[] of { id, label, detail }; describe supported work only from these and the available abilities), the one flat day price (price.dayPrice — feature agent.member.day, a USD amount per day with its label — plus the AI usage disclosure in the compatibility modelAllowanceText field, the terms revision and the terms URL; price is null when hiring is unavailable), lines.assignableCount (unassigned workspace phone lines, each one of the team’s shared lines; a hire takes one by default only while another stays with the team, and assignLine: true may take the last one), modelTiers (the model classes a hire may run on — economy, standard, premium — each with its models and isDefault), billing, configuration, quota, canHire, the contract revision and whether the account’s worker terms are already accepted. Before a hire or adoption show the human manager the day price, actual AI usage charges and the terms revision exactly as returned and get their explicit confirmation; never invent a price or terms. There is no offer id: the hire records a snapshot of the displayed price.",
64753
64753
  inputSchema: Workspace4,
64754
64754
  method: "GET",
64755
64755
  path: (_a4, ws) => `${base6(ws)}/catalog`,
@@ -64819,6 +64819,25 @@ function buildAgentMemberTools(h) {
64819
64819
  headers: interactive2,
64820
64820
  body: ({ workspaceId: _workspaceId, agentUserId: _agentUserId, confirmed: _confirmed, ...settings }) => settings
64821
64821
  }),
64822
+ agent_member_ai_spending_get: h.workspaceRestTool({
64823
+ description: "Read one worker’s daily AI charge preference and revision for a current human workspace owner or admin. dailyAiLimitUsd null means unlimited; a positive USD amount includes the existing markup and excludes the computer charge. The limit uses UTC days. Read this revision before proposing a change; requiresResume reports a paused worker and does not authorize resuming it.",
64824
+ inputSchema: Member,
64825
+ method: "GET",
64826
+ path: (a, ws) => `${target3(a, ws)}/ai-spending`,
64827
+ headers: interactive2
64828
+ }),
64829
+ agent_member_ai_spending_update: h.workspaceRestTool({
64830
+ description: "Save the current human owner or admin’s explicitly confirmed daily AI charge preference using the revision from agent_member_ai_spending_get. Send a positive exact USD string including existing markup, or null for unlimited; the computer charge is separate. Preserve the exact value and expectedRevision after an uncertain response. On a revision conflict read current settings and review again, never silently overwrite. Existing usage, in-flight reservations, prices and billing are kept. This does not resume a paused worker; use the separately authorized Resume action.",
64831
+ inputSchema: Member.extend({
64832
+ dailyAiLimitUsd: agentMemberDailyAiLimit,
64833
+ expectedRevision: exports_external.number().int().min(0).max(2147483646),
64834
+ confirmed: exports_external.literal(true)
64835
+ }),
64836
+ method: "PATCH",
64837
+ path: (a, ws) => `${target3(a, ws)}/ai-spending`,
64838
+ headers: interactive2,
64839
+ body: (a) => ({ dailyAiLimitUsd: a.dailyAiLimitUsd, expectedRevision: a.expectedRevision })
64840
+ }),
64822
64841
  agent_member_message: h.workspaceRestTool({
64823
64842
  description: "Send a hired worker a message or assignment in Scribed Chat on the human user’s explicit request. Resolve the exact workspace and worker with chat_members_list (kind agent) or the permitted worker roster. An explicit request naming the worker and what to tell them is sufficient authorization; do not ask twice. The API chooses the DM and sends as the human requester. Preserve the same requestId and text after an uncertain response; never send a replacement to retry. A sent message does not prove the worker started or completed the work. This does not hire, resume, adopt, grant access or authorize human-only actions.",
64824
64843
  inputSchema: Member.extend({ message: exports_external.string().trim().min(1).max(12000), requestId: Key2, confirmed: exports_external.literal(true) }),
@@ -64828,12 +64847,13 @@ function buildAgentMemberTools(h) {
64828
64847
  body: (a) => ({ text: a.message, requestId: a.requestId })
64829
64848
  }),
64830
64849
  agent_member_hire: h.workspaceRestTool({
64831
- description: `After the current human workspace owner reviews the catalog’s displayed flat day price, model allowance and terms revision and explicitly confirms them, hire one named Hired worker, including any reviewed ability choices. A worker is a hosted Hermes computer with Scribed tools; instructions, skills and abilities customize what it does. Do not ask the person to choose a worker type. Only workspace owners can hire. The hire captures a price snapshot of that displayed catalog price; there is no offer id to send, and a changed catalog price requires fresh review. By default the worker gets one of the workspace’s unassigned phone lines only while another stays with the team, and the hire goes ahead without a line otherwise; no number is ever bought. ${LINE_EFFECT} Before they confirm, tell the human which applies; send assignLine: false when they chose a hire without a line, and assignLine: true only when they chose to give the worker the team’s last shared line. acceptAccountTerms: true is sent once only when the catalog reports the account’s worker terms as not yet accepted. A named member appears while setup continues. This incurs the displayed daily charge. Preserve the same requestId and body on an uncertain response.`,
64850
+ description: `After the current human workspace owner reviews the catalog’s displayed computer day price, actual AI usage charges and terms revision and explicitly confirms them, hire one named Hired worker with all reviewed included skills and abilities by default. A worker is a hosted Hermes computer with Scribed tools; instructions, skills and abilities customize what it does. Do not ask the person to choose a worker type or individually select included abilities. Only workspace owners can hire. AI spending is unlimited by default; send dailyAiLimitUsd only when the human chooses a positive daily AI charge limit (including existing markup, separate from the computer charge), or null for unlimited. The hire captures a price snapshot of the displayed catalog price; there is no offer id to send, and a changed catalog price requires fresh review. By default the worker gets one of the workspace’s unassigned phone lines only while another stays with the team, and the hire goes ahead without a line otherwise; no number is ever bought. ${LINE_EFFECT} Before they confirm, tell the human which applies; send assignLine: false when they chose a hire without a line, and assignLine: true only when they chose to give the worker the team’s last shared line. acceptAccountTerms: true is sent once only when the catalog reports the account’s worker terms as not yet accepted. A named member appears while setup continues. This incurs the displayed daily charge. Preserve the same requestId and body on an uncertain response.`,
64832
64851
  inputSchema: Workspace4.extend({
64833
64852
  personaId: agentMemberPersonaId,
64834
64853
  name: name2,
64835
64854
  username: agentMemberUsername.optional(),
64836
- abilities: agentMemberAbilities.optional().describe("Only the catalog-listed ability choices explicitly selected by the human; omission uses worker defaults. These grant no extra authority."),
64855
+ abilities: agentMemberAbilities.optional().describe("Omit for a new hire to include all reviewed abilities by default. Send explicit choices only when the human changes the defaults or to preserve an exact legacy retry. These grant no extra authority."),
64856
+ dailyAiLimitUsd: agentMemberDailyAiLimit.optional().describe("Omit or send null for unlimited AI spending. Send a positive exact USD string only for the human’s chosen daily AI charge limit, including existing markup; computer charges are separate. Preserve omission or the exact original value on retry."),
64837
64857
  assignLine: exports_external.boolean().optional().describe("Omit for the default: the worker gets one of the workspace’s unassigned phone lines only while another stays with the team (never a purchase), and is hired without a line otherwise. false hires without a line. true takes one even when it is the team’s last shared line. A line taken stops ringing the team, and the worker can read its earlier texts and calls."),
64838
64858
  modelTier: exports_external.enum(AGENT_MODEL_TIERS).optional().describe("The model class the human chose from the catalog’s modelTiers; omit it for the catalog’s default."),
64839
64859
  acceptAccountTerms: AcceptAccountTerms,
@@ -64847,6 +64867,7 @@ function buildAgentMemberTools(h) {
64847
64867
  personaId: a.personaId,
64848
64868
  name: a.name,
64849
64869
  ...a.abilities === undefined ? {} : { abilities: a.abilities },
64870
+ ...a.dailyAiLimitUsd === undefined ? {} : { dailyAiLimitUsd: a.dailyAiLimitUsd },
64850
64871
  ...a.username === undefined ? {} : { username: a.username },
64851
64872
  ...a.assignLine === undefined ? {} : { assignLine: a.assignLine },
64852
64873
  ...a.modelTier === undefined ? {} : { modelTier: a.modelTier },
@@ -64903,7 +64924,7 @@ function buildAgentMemberTools(h) {
64903
64924
  })
64904
64925
  };
64905
64926
  }
64906
- var Workspace4, Member, Key2, AcceptAccountTerms, name2, base6 = (workspaceId2) => `/api/w/${encodeURIComponent(workspaceId2)}/agents`, LINE_DEFAULT_HEADER, LINE_EFFECT = "An unassigned line is your team’s shared line: the one the worker takes stops ringing the team, and the worker can read its earlier texts and calls (it has no voice, and its own texts are not available yet).", AGENT_MODEL_TIERS, AGENT_MEMBER_TOOL_NAMES, AGENT_MEMBER_TOOL_METERING;
64927
+ var Workspace4, Member, Key2, AcceptAccountTerms, name2, agentMemberDailyAiLimit, base6 = (workspaceId2) => `/api/w/${encodeURIComponent(workspaceId2)}/agents`, LINE_DEFAULT_HEADER, LINE_EFFECT = "An unassigned line is your team’s shared line: the one the worker takes stops ringing the team, and the worker can read its earlier texts and calls (it has no voice, and its own texts are not available yet).", AGENT_MODEL_TIERS, AGENT_MEMBER_TOOL_NAMES, AGENT_MEMBER_TOOL_METERING;
64907
64928
  var init_agent_member_tools = __esm(() => {
64908
64929
  init_zod();
64909
64930
  init_turn_context();
@@ -64917,6 +64938,7 @@ var init_agent_member_tools = __esm(() => {
64917
64938
  Key2 = exports_external.string().regex(/^[\x21-\x7e]{16,128}$/).describe("Generate once for this exact confirmed intent; reuse after an uncertain response. A changed selection requires a new key.");
64918
64939
  AcceptAccountTerms = exports_external.literal(true).optional().describe("Send true only when the catalog reports the account’s worker terms are not yet accepted and the human accepted them in this conversation.");
64919
64940
  name2 = exports_external.string().trim().min(1).max(80);
64941
+ agentMemberDailyAiLimit = exports_external.string().regex(/^\d{1,18}(?:\.\d{1,12})?$/).refine((value) => /[1-9]/.test(value)).nullable();
64920
64942
  LINE_DEFAULT_HEADER = { "X-Agent-Hire-Line-Default": "1" };
64921
64943
  AGENT_MODEL_TIERS = ["economy", "standard", "premium"];
64922
64944
  AGENT_MEMBER_TOOL_NAMES = [
@@ -64934,6 +64956,8 @@ var init_agent_member_tools = __esm(() => {
64934
64956
  "agent_member_fire",
64935
64957
  "agent_member_settings_get",
64936
64958
  "agent_member_settings_update",
64959
+ "agent_member_ai_spending_get",
64960
+ "agent_member_ai_spending_update",
64937
64961
  "agent_member_activity",
64938
64962
  "agent_member_memory_files",
64939
64963
  "agent_member_skills"
@@ -84709,7 +84733,7 @@ var program = new Command;
84709
84733
  // package.json
84710
84734
  var package_default = {
84711
84735
  name: "@scribed/cli",
84712
- version: "0.1.62",
84736
+ version: "0.1.63",
84713
84737
  description: "Command-line client + MCP server for Scribed — CRM records, phone + texting, inbox, calendar + booking, transcriptions, HR, Vault, automations, Creative Studio, and Documents, derived from the scribed-agent tool catalog.",
84714
84738
  type: "module",
84715
84739
  license: "SEE LICENSE IN LICENSE",
@@ -95275,7 +95299,7 @@ class StreamableHTTPClientTransport {
95275
95299
  // package.json
95276
95300
  var package_default2 = {
95277
95301
  name: "@scribed/cli",
95278
- version: "0.1.62",
95302
+ version: "0.1.63",
95279
95303
  description: "Command-line client + MCP server for Scribed — CRM records, phone + texting, inbox, calendar + booking, transcriptions, HR, Vault, automations, Creative Studio, and Documents, derived from the scribed-agent tool catalog.",
95280
95304
  type: "module",
95281
95305
  license: "SEE LICENSE IN LICENSE",
@@ -65298,7 +65298,7 @@ function buildAgentMemberTools(h) {
65298
65298
  const target3 = (a, ws) => `${base7(ws)}/${encodeURIComponent(a.agentUserId)}`;
65299
65299
  return {
65300
65300
  agent_members_catalog: h.workspaceRestTool({
65301
- description: "Read this workspace’s worker catalog: the Hired worker and its available skills (personas[] — the single new-hire entry with skills[] of { id, label, detail }; describe supported work only from these and the available abilities), the one flat day price (price.dayPrice — feature agent.member.day, a USD amount per day with its label — plus the model allowance text, the terms revision and the terms URL; price is null when hiring is unavailable), lines.assignableCount (unassigned workspace phone lines, each one of the team’s shared lines; a hire takes one by default only while another stays with the team, and assignLine: true may take the last one), modelTiers (the model classes a hire may run on — economy, standard, premium — each with its models and isDefault), billing, configuration, quota, canHire, the contract revision and whether the account’s worker terms are already accepted. Before a hire or adoption show the human manager the day price, the allowance and the terms revision exactly as returned and get their explicit confirmation; never invent a price or terms. There is no offer id: the hire records a snapshot of the displayed price.",
65301
+ description: "Read this workspace’s worker catalog: the Hired worker and its available skills (personas[] — the single new-hire entry with skills[] of { id, label, detail }; describe supported work only from these and the available abilities), the one flat day price (price.dayPrice — feature agent.member.day, a USD amount per day with its label — plus the AI usage disclosure in the compatibility modelAllowanceText field, the terms revision and the terms URL; price is null when hiring is unavailable), lines.assignableCount (unassigned workspace phone lines, each one of the team’s shared lines; a hire takes one by default only while another stays with the team, and assignLine: true may take the last one), modelTiers (the model classes a hire may run on — economy, standard, premium — each with its models and isDefault), billing, configuration, quota, canHire, the contract revision and whether the account’s worker terms are already accepted. Before a hire or adoption show the human manager the day price, actual AI usage charges and the terms revision exactly as returned and get their explicit confirmation; never invent a price or terms. There is no offer id: the hire records a snapshot of the displayed price.",
65302
65302
  inputSchema: Workspace4,
65303
65303
  method: "GET",
65304
65304
  path: (_a4, ws) => `${base7(ws)}/catalog`,
@@ -65368,6 +65368,25 @@ function buildAgentMemberTools(h) {
65368
65368
  headers: interactive2,
65369
65369
  body: ({ workspaceId: _workspaceId, agentUserId: _agentUserId, confirmed: _confirmed, ...settings }) => settings
65370
65370
  }),
65371
+ agent_member_ai_spending_get: h.workspaceRestTool({
65372
+ description: "Read one worker’s daily AI charge preference and revision for a current human workspace owner or admin. dailyAiLimitUsd null means unlimited; a positive USD amount includes the existing markup and excludes the computer charge. The limit uses UTC days. Read this revision before proposing a change; requiresResume reports a paused worker and does not authorize resuming it.",
65373
+ inputSchema: Member,
65374
+ method: "GET",
65375
+ path: (a, ws) => `${target3(a, ws)}/ai-spending`,
65376
+ headers: interactive2
65377
+ }),
65378
+ agent_member_ai_spending_update: h.workspaceRestTool({
65379
+ description: "Save the current human owner or admin’s explicitly confirmed daily AI charge preference using the revision from agent_member_ai_spending_get. Send a positive exact USD string including existing markup, or null for unlimited; the computer charge is separate. Preserve the exact value and expectedRevision after an uncertain response. On a revision conflict read current settings and review again, never silently overwrite. Existing usage, in-flight reservations, prices and billing are kept. This does not resume a paused worker; use the separately authorized Resume action.",
65380
+ inputSchema: Member.extend({
65381
+ dailyAiLimitUsd: agentMemberDailyAiLimit,
65382
+ expectedRevision: exports_external.number().int().min(0).max(2147483646),
65383
+ confirmed: exports_external.literal(true)
65384
+ }),
65385
+ method: "PATCH",
65386
+ path: (a, ws) => `${target3(a, ws)}/ai-spending`,
65387
+ headers: interactive2,
65388
+ body: (a) => ({ dailyAiLimitUsd: a.dailyAiLimitUsd, expectedRevision: a.expectedRevision })
65389
+ }),
65371
65390
  agent_member_message: h.workspaceRestTool({
65372
65391
  description: "Send a hired worker a message or assignment in Scribed Chat on the human user’s explicit request. Resolve the exact workspace and worker with chat_members_list (kind agent) or the permitted worker roster. An explicit request naming the worker and what to tell them is sufficient authorization; do not ask twice. The API chooses the DM and sends as the human requester. Preserve the same requestId and text after an uncertain response; never send a replacement to retry. A sent message does not prove the worker started or completed the work. This does not hire, resume, adopt, grant access or authorize human-only actions.",
65373
65392
  inputSchema: Member.extend({ message: exports_external.string().trim().min(1).max(12000), requestId: Key2, confirmed: exports_external.literal(true) }),
@@ -65377,12 +65396,13 @@ function buildAgentMemberTools(h) {
65377
65396
  body: (a) => ({ text: a.message, requestId: a.requestId })
65378
65397
  }),
65379
65398
  agent_member_hire: h.workspaceRestTool({
65380
- description: `After the current human workspace owner reviews the catalog’s displayed flat day price, model allowance and terms revision and explicitly confirms them, hire one named Hired worker, including any reviewed ability choices. A worker is a hosted Hermes computer with Scribed tools; instructions, skills and abilities customize what it does. Do not ask the person to choose a worker type. Only workspace owners can hire. The hire captures a price snapshot of that displayed catalog price; there is no offer id to send, and a changed catalog price requires fresh review. By default the worker gets one of the workspace’s unassigned phone lines only while another stays with the team, and the hire goes ahead without a line otherwise; no number is ever bought. ${LINE_EFFECT} Before they confirm, tell the human which applies; send assignLine: false when they chose a hire without a line, and assignLine: true only when they chose to give the worker the team’s last shared line. acceptAccountTerms: true is sent once only when the catalog reports the account’s worker terms as not yet accepted. A named member appears while setup continues. This incurs the displayed daily charge. Preserve the same requestId and body on an uncertain response.`,
65399
+ description: `After the current human workspace owner reviews the catalog’s displayed computer day price, actual AI usage charges and terms revision and explicitly confirms them, hire one named Hired worker with all reviewed included skills and abilities by default. A worker is a hosted Hermes computer with Scribed tools; instructions, skills and abilities customize what it does. Do not ask the person to choose a worker type or individually select included abilities. Only workspace owners can hire. AI spending is unlimited by default; send dailyAiLimitUsd only when the human chooses a positive daily AI charge limit (including existing markup, separate from the computer charge), or null for unlimited. The hire captures a price snapshot of the displayed catalog price; there is no offer id to send, and a changed catalog price requires fresh review. By default the worker gets one of the workspace’s unassigned phone lines only while another stays with the team, and the hire goes ahead without a line otherwise; no number is ever bought. ${LINE_EFFECT} Before they confirm, tell the human which applies; send assignLine: false when they chose a hire without a line, and assignLine: true only when they chose to give the worker the team’s last shared line. acceptAccountTerms: true is sent once only when the catalog reports the account’s worker terms as not yet accepted. A named member appears while setup continues. This incurs the displayed daily charge. Preserve the same requestId and body on an uncertain response.`,
65381
65400
  inputSchema: Workspace4.extend({
65382
65401
  personaId: agentMemberPersonaId,
65383
65402
  name: name2,
65384
65403
  username: agentMemberUsername.optional(),
65385
- abilities: agentMemberAbilities.optional().describe("Only the catalog-listed ability choices explicitly selected by the human; omission uses worker defaults. These grant no extra authority."),
65404
+ abilities: agentMemberAbilities.optional().describe("Omit for a new hire to include all reviewed abilities by default. Send explicit choices only when the human changes the defaults or to preserve an exact legacy retry. These grant no extra authority."),
65405
+ dailyAiLimitUsd: agentMemberDailyAiLimit.optional().describe("Omit or send null for unlimited AI spending. Send a positive exact USD string only for the human’s chosen daily AI charge limit, including existing markup; computer charges are separate. Preserve omission or the exact original value on retry."),
65386
65406
  assignLine: exports_external.boolean().optional().describe("Omit for the default: the worker gets one of the workspace’s unassigned phone lines only while another stays with the team (never a purchase), and is hired without a line otherwise. false hires without a line. true takes one even when it is the team’s last shared line. A line taken stops ringing the team, and the worker can read its earlier texts and calls."),
65387
65407
  modelTier: exports_external.enum(AGENT_MODEL_TIERS).optional().describe("The model class the human chose from the catalog’s modelTiers; omit it for the catalog’s default."),
65388
65408
  acceptAccountTerms: AcceptAccountTerms,
@@ -65396,6 +65416,7 @@ function buildAgentMemberTools(h) {
65396
65416
  personaId: a.personaId,
65397
65417
  name: a.name,
65398
65418
  ...a.abilities === undefined ? {} : { abilities: a.abilities },
65419
+ ...a.dailyAiLimitUsd === undefined ? {} : { dailyAiLimitUsd: a.dailyAiLimitUsd },
65399
65420
  ...a.username === undefined ? {} : { username: a.username },
65400
65421
  ...a.assignLine === undefined ? {} : { assignLine: a.assignLine },
65401
65422
  ...a.modelTier === undefined ? {} : { modelTier: a.modelTier },
@@ -65452,7 +65473,7 @@ function buildAgentMemberTools(h) {
65452
65473
  })
65453
65474
  };
65454
65475
  }
65455
- var Workspace4, Member, Key2, AcceptAccountTerms, name2, base7 = (workspaceId3) => `/api/w/${encodeURIComponent(workspaceId3)}/agents`, LINE_DEFAULT_HEADER, LINE_EFFECT = "An unassigned line is your team’s shared line: the one the worker takes stops ringing the team, and the worker can read its earlier texts and calls (it has no voice, and its own texts are not available yet).", AGENT_MODEL_TIERS, AGENT_MEMBER_TOOL_NAMES, AGENT_MEMBER_TOOL_METERING;
65476
+ var Workspace4, Member, Key2, AcceptAccountTerms, name2, agentMemberDailyAiLimit, base7 = (workspaceId3) => `/api/w/${encodeURIComponent(workspaceId3)}/agents`, LINE_DEFAULT_HEADER, LINE_EFFECT = "An unassigned line is your team’s shared line: the one the worker takes stops ringing the team, and the worker can read its earlier texts and calls (it has no voice, and its own texts are not available yet).", AGENT_MODEL_TIERS, AGENT_MEMBER_TOOL_NAMES, AGENT_MEMBER_TOOL_METERING;
65456
65477
  var init_agent_member_tools = __esm(() => {
65457
65478
  init_zod();
65458
65479
  init_turn_context();
@@ -65466,6 +65487,7 @@ var init_agent_member_tools = __esm(() => {
65466
65487
  Key2 = exports_external.string().regex(/^[\x21-\x7e]{16,128}$/).describe("Generate once for this exact confirmed intent; reuse after an uncertain response. A changed selection requires a new key.");
65467
65488
  AcceptAccountTerms = exports_external.literal(true).optional().describe("Send true only when the catalog reports the account’s worker terms are not yet accepted and the human accepted them in this conversation.");
65468
65489
  name2 = exports_external.string().trim().min(1).max(80);
65490
+ agentMemberDailyAiLimit = exports_external.string().regex(/^\d{1,18}(?:\.\d{1,12})?$/).refine((value) => /[1-9]/.test(value)).nullable();
65469
65491
  LINE_DEFAULT_HEADER = { "X-Agent-Hire-Line-Default": "1" };
65470
65492
  AGENT_MODEL_TIERS = ["economy", "standard", "premium"];
65471
65493
  AGENT_MEMBER_TOOL_NAMES = [
@@ -65483,6 +65505,8 @@ var init_agent_member_tools = __esm(() => {
65483
65505
  "agent_member_fire",
65484
65506
  "agent_member_settings_get",
65485
65507
  "agent_member_settings_update",
65508
+ "agent_member_ai_spending_get",
65509
+ "agent_member_ai_spending_update",
65486
65510
  "agent_member_activity",
65487
65511
  "agent_member_memory_files",
65488
65512
  "agent_member_skills"
@@ -86837,7 +86861,7 @@ init_zod();
86837
86861
  // package.json
86838
86862
  var package_default = {
86839
86863
  name: "@scribed/cli",
86840
- version: "0.1.62",
86864
+ version: "0.1.63",
86841
86865
  description: "Command-line client + MCP server for Scribed — CRM records, phone + texting, inbox, calendar + booking, transcriptions, HR, Vault, automations, Creative Studio, and Documents, derived from the scribed-agent tool catalog.",
86842
86866
  type: "module",
86843
86867
  license: "SEE LICENSE IN LICENSE",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scribed/cli",
3
- "version": "0.1.62",
3
+ "version": "0.1.63",
4
4
  "description": "Command-line client + MCP server for Scribed — CRM records, phone + texting, inbox, calendar + booking, transcriptions, HR, Vault, automations, Creative Studio, and Documents, derived from the scribed-agent tool catalog.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -39,9 +39,9 @@
39
39
  "url": "git+https://github.com/scribedworks/scribed-works.git",
40
40
  "directory": "scribed-cli"
41
41
  },
42
- "gitHead": "243d42861d2ba6fbe8f9f4ba25d565bc2598eb3f",
42
+ "gitHead": "995e9e6a3f9392d8a82182d273f6510de7308fb3",
43
43
  "scribedRelease": {
44
44
  "repository": "scribedworks/scribed-works",
45
- "commit": "243d42861d2ba6fbe8f9f4ba25d565bc2598eb3f"
45
+ "commit": "995e9e6a3f9392d8a82182d273f6510de7308fb3"
46
46
  }
47
47
  }