@scribed/cli 0.1.62 → 0.1.64

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.64",
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.64",
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",
@@ -100122,8 +100146,8 @@ var objectsSourcesList = collectionRestTool({
100122
100146
  path: (_a4, ws) => `${collectionApi(ws)}/collections/sources`
100123
100147
  });
100124
100148
  var objectsSourceAdd = collectionRestTool({
100125
- description: "Add an existing service as a collection for the selected account or workspace owner. Discover supported sources with objects_sources_list. Reuses installed metadata and saved views without copying records. Requires an editor or manager. Generic record and field writes are protected; open row.source.href for original service actions. Credential metadata requires vault access and never includes secrets. Financials is a live integration page, not a collection: the financials source selector is retained only for compatibility and new provisioning is refused. Use financial_read or financials_statement_read for current provider facts and the financials module for a page; do not import a monetary copy. Native Payroll and Compensation sources are retired; do not add compensation, pay_runs or pay_items. Retained selectors serve existing history only. Time tracking and Sales CRM commissions remain supported. Capital reads live SAFE activity and standalone investment positions linked to canonical Contacts, Deals and Raises; adding it creates no agreement or payment. Use a returned saved viewId with workspace_page_create(kind=collection) for a Capital page, or bind it to a view block on any doc page. Check existing pages/views first. Account scope supports only sources returned by account-scoped discovery; workspace-only services remain unavailable there. Account-owned data remains personal and Notes retain their separate session-only access. Signals is the workspace-only projection of Vercel webhook events that connection owners shared with the workspace (grant kind signals); it is empty until an owner shares a connection, and adding it configures no webhook. Social posts (social_publications) and Social inbox (social_inbox, with messages as its message kind) are workspace-only: posts list only the caller’s own publications in that workspace, the inbox lists the conversations of shared channels with message direction and status but never message text, and adding either connects or shares no social account. Runs (runs, with run_history as its execution kind) is workspace-only: it lists the workspace’s Runs and the account Runs their owners shared with it, under the same access as the Runs page, with each execution’s status and timing but never inputs, outputs, errors or step traces; adding it creates, enables or runs nothing, and automation_* tools still manage Runs. GitHub issues (github_issues, with github_pull_requests as its pull request kind) and Asana tasks (asana_tasks) are workspace-only: they list the issues, pull requests and tasks of the repositories and projects connection owners chose to sync to this workspace in Settings, for members who can view integrations; adding either connects, grants or selects nothing and is empty until an owner selects repositories or projects. Newsletter subscribers (newsletter_subscribers) is a live read of SCRIBED Buzz subscribers for workspace editors or the account owner; nothing is stored, and adding it subscribes or sends nothing. School courses (school_courses, with school_assignments as its assignment kind) is workspace-only: published courses with the reader’s own progress, and assignments editors see for every member and others only for themselves; adding it assigns nothing. Events also includes record due dates and the calendars members share with the workspace (calendar_overlays as its overlay kind, read live and never stored) and supports a calendar view; adding it enables no calendar sharing. GitHub activity (github_activity) is workspace-only: the webhook history received under the GitHub repository selection since sharing began, kept 90 days, for members who can view integrations; adding it connects, grants or selects nothing. Developer logs (developer_logs) is workspace-only: the last 24 hours of shared logs and findings read live for editors only, storing nothing, unavailable in background Runs; adding it connects or grants nothing. Database tables (database_tables) is workspace-only: a live catalog of Neon, Firebase and Airtable tables for editors only whose rows are tables, never table contents; adding it connects or grants nothing. Linear issues (linear_issues) is workspace-only: a synced mirror of the workspace’s Connected Data Linear connection for editors only, unavailable in background Runs; adding it connects nothing. Click (click) is available in personal and workspace collections: personal rows contain the account owner’s sites; workspace rows contain only sites their owners explicitly shared with that workspace. Adding the source shares nothing, and pixel management and billing remain personal. Use click_workspace_share only after the user approves the exact site and target workspace.",
100126
- inputSchema: exports_external.object({ workspaceId: WorkspaceIdArg, scope: AccountResourceScopeArg, source: exports_external.enum(["transcriptions", "events", "members", "ideas", "comments", "bulletins", "credentials", "activity", "forms", "financials", "capital", "pay_runs", "pay_items", "notes", "vault", "phone_calls", "phone_messages", "phone_call_campaigns", "phone_call_entries", "phone_sms_campaigns", "phone_sms_recipients", "time_entries", "timecards", "time_off", "time_off_balances", "compensation", "form_responses", "data_rooms", "data_room_files", "metric_targets", "pages", "domains", "hosting", "newsletter_spaces", "newsletter_campaigns", "signals", "social_publications", "social_inbox", "social_inbox_messages", "runs", "run_history", "github_issues", "github_pull_requests", "asana_tasks", "newsletter_subscribers", "school_courses", "school_assignments", "calendar_overlays", "github_activity", "developer_logs", "database_tables", "linear_issues", "click", "documents", "studio_content", "api_activity", "invoices"]).describe("Use the current discovery result for this owner. signals is the unified Webhook events source: Personal contains only owned incoming API/Run and developer-integration receipts; workspace contains authorized shared developer events and editor-visible outgoing deliveries. social_publications is the workspace Social parent with publication, conversation and message kinds under native access; old social_inbox and social_inbox_messages are compatibility children. runs is the native Runs collection for either owner; Personal reads only the account owner’s definitions and execution metadata, with run_history as its hidden execution kind. api_activity is Personal only, visible after API-key setup, with safe request metadata rather than inputs or outputs. Comments are part of Activity; do not provision comments or pages. Feature collection pages retain native actions; do not create new standalone module pages. Financials remains a live integration without a collection.") }).refine(({ scope: scope5, source: source2 }) => scope5 === "account" ? ["transcriptions", "notes", "vault", "activity", "forms", "form_responses", "data_rooms", "data_room_files", "pages", "domains", "newsletter_spaces", "newsletter_campaigns", "newsletter_subscribers", "click", "documents", "studio_content", "api_activity", "signals", "runs", "run_history", "invoices"].includes(source2) : source2 !== "notes" && source2 !== "vault" && source2 !== "api_activity", { path: ["source"], message: "Choose a source available to the selected account or workspace owner." }),
100149
+ description: "Add an existing service as a collection for the selected account or workspace owner. Discover supported sources with objects_sources_list. Reuses installed metadata and saved views without copying records. Requires an editor or manager. Generic record and field writes are protected; open row.source.href for original service actions. Credential metadata requires vault access and never includes secrets. Financials is a live integration page, not a collection: the financials source selector is retained only for compatibility and new provisioning is refused. Use financial_read or financials_statement_read for current provider facts and the financials module for a page; do not import a monetary copy. Native Payroll and Compensation sources are retired; do not add compensation, pay_runs or pay_items. Retained selectors serve existing history only. Time tracking and Sales CRM commissions remain supported. Capital reads live SAFE activity and standalone investment positions linked to canonical Contacts, Deals and Raises; adding it creates no agreement or payment. Use a returned saved viewId with workspace_page_create(kind=collection) for a Capital page, or bind it to a view block on any doc page. Check existing pages/views first. Account scope supports only sources returned by account-scoped discovery; workspace-only services remain unavailable there. Account-owned data remains personal and Notes retain their separate session-only access. Signals is the workspace-only projection of Vercel webhook events that connection owners shared with the workspace (grant kind signals); it is empty until an owner shares a connection, and adding it configures no webhook. Social posts (social_publications) and Social inbox (social_inbox, with messages as its message kind) are workspace-only: posts list only the caller’s own publications in that workspace, the inbox lists the conversations of shared channels with message direction and status but never message text, and adding either connects or shares no social account. Runs (runs, with run_history as its execution kind) is workspace-only: it lists the workspace’s Runs and the account Runs their owners shared with it, under the same access as the Runs page, with each execution’s status and timing but never inputs, outputs, errors or step traces; adding it creates, enables or runs nothing, and automation_* tools still manage Runs. GitHub issues (github_issues, with github_pull_requests as its pull request kind) and Asana tasks (asana_tasks) are workspace-only: they list the issues, pull requests and tasks of the repositories and projects connection owners chose to sync to this workspace in Settings, for members who can view integrations; adding either connects, grants or selects nothing and is empty until an owner selects repositories or projects. Newsletter subscribers (newsletter_subscribers) is a live read of SCRIBED Buzz subscribers for workspace editors or the account owner; nothing is stored, and adding it subscribes or sends nothing. School courses (school_courses, with school_assignments as its assignment kind) is workspace-only: published courses with the reader’s own progress, and assignments editors see for every member and others only for themselves; adding it assigns nothing. Events also includes record due dates and the calendars members share with the workspace (calendar_overlays as its overlay kind, read live and never stored) and supports a calendar view; adding it enables no calendar sharing. GitHub activity (github_activity) is workspace-only: the webhook history received under the GitHub repository selection since sharing began, kept 90 days, for members who can view integrations; adding it connects, grants or selects nothing. Developer logs (developer_logs) is workspace-only: the last 24 hours of shared logs and findings read live for editors only, storing nothing, unavailable in background Runs; adding it connects or grants nothing. Analytics (stored source key posthog) is a workspace-only, provider-neutral analytics page for explicitly shared account connections. PostHog and capability-verified Vercel projects have separate readers and workspace grants; Google Analytics is not supported. Adding it connects or grants nothing. Open its collection page to choose a provider and project. For PostHog choose a region and organization, or use connected_apps_status and connected_apps_read with the exact workspace grant and connection version; these read dashboard metadata, cached insights and feature flags without fresh analytics queries. Vercel reports are available through the native Analytics page only, for 7 or 30 UTC calendar days including today; its daily anonymized visitor identities are not deduplicated PostHog users. Developer logs access does not grant analytics access. Generic record, count, aggregate and export reads require source selection and cannot enumerate analytics data. Object storage (object_storage) supports Personal and workspaces: rows are explicitly connected or shared store metadata only, never files or credentials. Adding the prebuilt page grants no storage access. File browsing and owner-only upload/delete remain human actions in the native page; workspace sharing is read-only. Background Runs cannot read this source. Database tables (database_tables) is workspace-only: a live catalog of Neon, Firebase and Airtable tables for editors only whose rows are tables, never table contents; adding it connects or grants nothing. Linear issues (linear_issues) is workspace-only: a synced mirror of the workspace’s Connected Data Linear connection for editors only, unavailable in background Runs; adding it connects nothing. Click (click) is available in personal and workspace collections: personal rows contain the account owner’s sites; workspace rows contain only sites their owners explicitly shared with that workspace. Adding the source shares nothing, and pixel management and billing remain personal. Use click_workspace_share only after the user approves the exact site and target workspace.",
100150
+ inputSchema: exports_external.object({ workspaceId: WorkspaceIdArg, scope: AccountResourceScopeArg, source: exports_external.enum(["transcriptions", "events", "members", "ideas", "comments", "bulletins", "credentials", "activity", "forms", "financials", "capital", "pay_runs", "pay_items", "notes", "vault", "phone_calls", "phone_messages", "phone_call_campaigns", "phone_call_entries", "phone_sms_campaigns", "phone_sms_recipients", "time_entries", "timecards", "time_off", "time_off_balances", "compensation", "form_responses", "data_rooms", "data_room_files", "metric_targets", "pages", "domains", "hosting", "newsletter_spaces", "newsletter_campaigns", "signals", "social_publications", "social_inbox", "social_inbox_messages", "runs", "run_history", "github_issues", "github_pull_requests", "asana_tasks", "newsletter_subscribers", "school_courses", "school_assignments", "calendar_overlays", "github_activity", "developer_logs", "database_tables", "linear_issues", "click", "documents", "studio_content", "api_activity", "invoices", "posthog", "object_storage"]).describe("Use the current discovery result for this owner. signals is the unified Webhook events source: Personal contains only owned incoming API/Run and developer-integration receipts; workspace contains authorized shared developer events and editor-visible outgoing deliveries. social_publications is the workspace Social parent with publication, conversation and message kinds under native access; old social_inbox and social_inbox_messages are compatibility children. runs is the native Runs collection for either owner; Personal reads only the account owner’s definitions and execution metadata, with run_history as its hidden execution kind. api_activity is Personal only, visible after API-key setup, with safe request metadata rather than inputs or outputs. Comments are part of Activity; do not provision comments or pages. Feature collection pages retain native actions; do not create new standalone module pages. Financials remains a live integration without a collection.") }).refine(({ scope: scope5, source: source2 }) => scope5 === "account" ? ["transcriptions", "notes", "vault", "activity", "forms", "form_responses", "data_rooms", "data_room_files", "pages", "domains", "newsletter_spaces", "newsletter_campaigns", "newsletter_subscribers", "click", "documents", "studio_content", "api_activity", "signals", "runs", "run_history", "invoices", "object_storage"].includes(source2) : source2 !== "notes" && source2 !== "vault" && source2 !== "api_activity", { path: ["source"], message: "Choose a source available to the selected account or workspace owner." }),
100127
100151
  method: "POST",
100128
100152
  path: (a, ws) => `${collectionApi(ws)}/collections/sources/${encodeURIComponent(a.source)}`,
100129
100153
  body: () => ({})
@@ -120430,7 +120454,7 @@ function createAuthApi(transport, options = {}) {
120430
120454
  const api3 = {
120431
120455
  async getSignInMethods(requestOptions = {}) {
120432
120456
  throwIfAborted(requestOptions.signal);
120433
- const body = await transport.json("/api/auth/methods", { signal: requestOptions.signal });
120457
+ const body = await transport.json("/api/auth/methods", { signal: requestOptions.signal, timeoutMs: requestOptions.timeoutMs });
120434
120458
  throwIfAborted(requestOptions.signal);
120435
120459
  return parseSignInMethods(body);
120436
120460
  },
@@ -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.64",
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",
@@ -95121,8 +95145,8 @@ var objectsSourcesList = collectionRestTool({
95121
95145
  path: (_a4, ws) => `${collectionApi(ws)}/collections/sources`
95122
95146
  });
95123
95147
  var objectsSourceAdd = collectionRestTool({
95124
- description: "Add an existing service as a collection for the selected account or workspace owner. Discover supported sources with objects_sources_list. Reuses installed metadata and saved views without copying records. Requires an editor or manager. Generic record and field writes are protected; open row.source.href for original service actions. Credential metadata requires vault access and never includes secrets. Financials is a live integration page, not a collection: the financials source selector is retained only for compatibility and new provisioning is refused. Use financial_read or financials_statement_read for current provider facts and the financials module for a page; do not import a monetary copy. Native Payroll and Compensation sources are retired; do not add compensation, pay_runs or pay_items. Retained selectors serve existing history only. Time tracking and Sales CRM commissions remain supported. Capital reads live SAFE activity and standalone investment positions linked to canonical Contacts, Deals and Raises; adding it creates no agreement or payment. Use a returned saved viewId with workspace_page_create(kind=collection) for a Capital page, or bind it to a view block on any doc page. Check existing pages/views first. Account scope supports only sources returned by account-scoped discovery; workspace-only services remain unavailable there. Account-owned data remains personal and Notes retain their separate session-only access. Signals is the workspace-only projection of Vercel webhook events that connection owners shared with the workspace (grant kind signals); it is empty until an owner shares a connection, and adding it configures no webhook. Social posts (social_publications) and Social inbox (social_inbox, with messages as its message kind) are workspace-only: posts list only the caller’s own publications in that workspace, the inbox lists the conversations of shared channels with message direction and status but never message text, and adding either connects or shares no social account. Runs (runs, with run_history as its execution kind) is workspace-only: it lists the workspace’s Runs and the account Runs their owners shared with it, under the same access as the Runs page, with each execution’s status and timing but never inputs, outputs, errors or step traces; adding it creates, enables or runs nothing, and automation_* tools still manage Runs. GitHub issues (github_issues, with github_pull_requests as its pull request kind) and Asana tasks (asana_tasks) are workspace-only: they list the issues, pull requests and tasks of the repositories and projects connection owners chose to sync to this workspace in Settings, for members who can view integrations; adding either connects, grants or selects nothing and is empty until an owner selects repositories or projects. Newsletter subscribers (newsletter_subscribers) is a live read of SCRIBED Buzz subscribers for workspace editors or the account owner; nothing is stored, and adding it subscribes or sends nothing. School courses (school_courses, with school_assignments as its assignment kind) is workspace-only: published courses with the reader’s own progress, and assignments editors see for every member and others only for themselves; adding it assigns nothing. Events also includes record due dates and the calendars members share with the workspace (calendar_overlays as its overlay kind, read live and never stored) and supports a calendar view; adding it enables no calendar sharing. GitHub activity (github_activity) is workspace-only: the webhook history received under the GitHub repository selection since sharing began, kept 90 days, for members who can view integrations; adding it connects, grants or selects nothing. Developer logs (developer_logs) is workspace-only: the last 24 hours of shared logs and findings read live for editors only, storing nothing, unavailable in background Runs; adding it connects or grants nothing. Database tables (database_tables) is workspace-only: a live catalog of Neon, Firebase and Airtable tables for editors only whose rows are tables, never table contents; adding it connects or grants nothing. Linear issues (linear_issues) is workspace-only: a synced mirror of the workspace’s Connected Data Linear connection for editors only, unavailable in background Runs; adding it connects nothing. Click (click) is available in personal and workspace collections: personal rows contain the account owner’s sites; workspace rows contain only sites their owners explicitly shared with that workspace. Adding the source shares nothing, and pixel management and billing remain personal. Use click_workspace_share only after the user approves the exact site and target workspace.",
95125
- inputSchema: exports_external.object({ workspaceId: WorkspaceIdArg, scope: AccountResourceScopeArg, source: exports_external.enum(["transcriptions", "events", "members", "ideas", "comments", "bulletins", "credentials", "activity", "forms", "financials", "capital", "pay_runs", "pay_items", "notes", "vault", "phone_calls", "phone_messages", "phone_call_campaigns", "phone_call_entries", "phone_sms_campaigns", "phone_sms_recipients", "time_entries", "timecards", "time_off", "time_off_balances", "compensation", "form_responses", "data_rooms", "data_room_files", "metric_targets", "pages", "domains", "hosting", "newsletter_spaces", "newsletter_campaigns", "signals", "social_publications", "social_inbox", "social_inbox_messages", "runs", "run_history", "github_issues", "github_pull_requests", "asana_tasks", "newsletter_subscribers", "school_courses", "school_assignments", "calendar_overlays", "github_activity", "developer_logs", "database_tables", "linear_issues", "click", "documents", "studio_content", "api_activity", "invoices"]).describe("Use the current discovery result for this owner. signals is the unified Webhook events source: Personal contains only owned incoming API/Run and developer-integration receipts; workspace contains authorized shared developer events and editor-visible outgoing deliveries. social_publications is the workspace Social parent with publication, conversation and message kinds under native access; old social_inbox and social_inbox_messages are compatibility children. runs is the native Runs collection for either owner; Personal reads only the account owner’s definitions and execution metadata, with run_history as its hidden execution kind. api_activity is Personal only, visible after API-key setup, with safe request metadata rather than inputs or outputs. Comments are part of Activity; do not provision comments or pages. Feature collection pages retain native actions; do not create new standalone module pages. Financials remains a live integration without a collection.") }).refine(({ scope: scope5, source: source2 }) => scope5 === "account" ? ["transcriptions", "notes", "vault", "activity", "forms", "form_responses", "data_rooms", "data_room_files", "pages", "domains", "newsletter_spaces", "newsletter_campaigns", "newsletter_subscribers", "click", "documents", "studio_content", "api_activity", "signals", "runs", "run_history", "invoices"].includes(source2) : source2 !== "notes" && source2 !== "vault" && source2 !== "api_activity", { path: ["source"], message: "Choose a source available to the selected account or workspace owner." }),
95148
+ description: "Add an existing service as a collection for the selected account or workspace owner. Discover supported sources with objects_sources_list. Reuses installed metadata and saved views without copying records. Requires an editor or manager. Generic record and field writes are protected; open row.source.href for original service actions. Credential metadata requires vault access and never includes secrets. Financials is a live integration page, not a collection: the financials source selector is retained only for compatibility and new provisioning is refused. Use financial_read or financials_statement_read for current provider facts and the financials module for a page; do not import a monetary copy. Native Payroll and Compensation sources are retired; do not add compensation, pay_runs or pay_items. Retained selectors serve existing history only. Time tracking and Sales CRM commissions remain supported. Capital reads live SAFE activity and standalone investment positions linked to canonical Contacts, Deals and Raises; adding it creates no agreement or payment. Use a returned saved viewId with workspace_page_create(kind=collection) for a Capital page, or bind it to a view block on any doc page. Check existing pages/views first. Account scope supports only sources returned by account-scoped discovery; workspace-only services remain unavailable there. Account-owned data remains personal and Notes retain their separate session-only access. Signals is the workspace-only projection of Vercel webhook events that connection owners shared with the workspace (grant kind signals); it is empty until an owner shares a connection, and adding it configures no webhook. Social posts (social_publications) and Social inbox (social_inbox, with messages as its message kind) are workspace-only: posts list only the caller’s own publications in that workspace, the inbox lists the conversations of shared channels with message direction and status but never message text, and adding either connects or shares no social account. Runs (runs, with run_history as its execution kind) is workspace-only: it lists the workspace’s Runs and the account Runs their owners shared with it, under the same access as the Runs page, with each execution’s status and timing but never inputs, outputs, errors or step traces; adding it creates, enables or runs nothing, and automation_* tools still manage Runs. GitHub issues (github_issues, with github_pull_requests as its pull request kind) and Asana tasks (asana_tasks) are workspace-only: they list the issues, pull requests and tasks of the repositories and projects connection owners chose to sync to this workspace in Settings, for members who can view integrations; adding either connects, grants or selects nothing and is empty until an owner selects repositories or projects. Newsletter subscribers (newsletter_subscribers) is a live read of SCRIBED Buzz subscribers for workspace editors or the account owner; nothing is stored, and adding it subscribes or sends nothing. School courses (school_courses, with school_assignments as its assignment kind) is workspace-only: published courses with the reader’s own progress, and assignments editors see for every member and others only for themselves; adding it assigns nothing. Events also includes record due dates and the calendars members share with the workspace (calendar_overlays as its overlay kind, read live and never stored) and supports a calendar view; adding it enables no calendar sharing. GitHub activity (github_activity) is workspace-only: the webhook history received under the GitHub repository selection since sharing began, kept 90 days, for members who can view integrations; adding it connects, grants or selects nothing. Developer logs (developer_logs) is workspace-only: the last 24 hours of shared logs and findings read live for editors only, storing nothing, unavailable in background Runs; adding it connects or grants nothing. Analytics (stored source key posthog) is a workspace-only, provider-neutral analytics page for explicitly shared account connections. PostHog and capability-verified Vercel projects have separate readers and workspace grants; Google Analytics is not supported. Adding it connects or grants nothing. Open its collection page to choose a provider and project. For PostHog choose a region and organization, or use connected_apps_status and connected_apps_read with the exact workspace grant and connection version; these read dashboard metadata, cached insights and feature flags without fresh analytics queries. Vercel reports are available through the native Analytics page only, for 7 or 30 UTC calendar days including today; its daily anonymized visitor identities are not deduplicated PostHog users. Developer logs access does not grant analytics access. Generic record, count, aggregate and export reads require source selection and cannot enumerate analytics data. Object storage (object_storage) supports Personal and workspaces: rows are explicitly connected or shared store metadata only, never files or credentials. Adding the prebuilt page grants no storage access. File browsing and owner-only upload/delete remain human actions in the native page; workspace sharing is read-only. Background Runs cannot read this source. Database tables (database_tables) is workspace-only: a live catalog of Neon, Firebase and Airtable tables for editors only whose rows are tables, never table contents; adding it connects or grants nothing. Linear issues (linear_issues) is workspace-only: a synced mirror of the workspace’s Connected Data Linear connection for editors only, unavailable in background Runs; adding it connects nothing. Click (click) is available in personal and workspace collections: personal rows contain the account owner’s sites; workspace rows contain only sites their owners explicitly shared with that workspace. Adding the source shares nothing, and pixel management and billing remain personal. Use click_workspace_share only after the user approves the exact site and target workspace.",
95149
+ inputSchema: exports_external.object({ workspaceId: WorkspaceIdArg, scope: AccountResourceScopeArg, source: exports_external.enum(["transcriptions", "events", "members", "ideas", "comments", "bulletins", "credentials", "activity", "forms", "financials", "capital", "pay_runs", "pay_items", "notes", "vault", "phone_calls", "phone_messages", "phone_call_campaigns", "phone_call_entries", "phone_sms_campaigns", "phone_sms_recipients", "time_entries", "timecards", "time_off", "time_off_balances", "compensation", "form_responses", "data_rooms", "data_room_files", "metric_targets", "pages", "domains", "hosting", "newsletter_spaces", "newsletter_campaigns", "signals", "social_publications", "social_inbox", "social_inbox_messages", "runs", "run_history", "github_issues", "github_pull_requests", "asana_tasks", "newsletter_subscribers", "school_courses", "school_assignments", "calendar_overlays", "github_activity", "developer_logs", "database_tables", "linear_issues", "click", "documents", "studio_content", "api_activity", "invoices", "posthog", "object_storage"]).describe("Use the current discovery result for this owner. signals is the unified Webhook events source: Personal contains only owned incoming API/Run and developer-integration receipts; workspace contains authorized shared developer events and editor-visible outgoing deliveries. social_publications is the workspace Social parent with publication, conversation and message kinds under native access; old social_inbox and social_inbox_messages are compatibility children. runs is the native Runs collection for either owner; Personal reads only the account owner’s definitions and execution metadata, with run_history as its hidden execution kind. api_activity is Personal only, visible after API-key setup, with safe request metadata rather than inputs or outputs. Comments are part of Activity; do not provision comments or pages. Feature collection pages retain native actions; do not create new standalone module pages. Financials remains a live integration without a collection.") }).refine(({ scope: scope5, source: source2 }) => scope5 === "account" ? ["transcriptions", "notes", "vault", "activity", "forms", "form_responses", "data_rooms", "data_room_files", "pages", "domains", "newsletter_spaces", "newsletter_campaigns", "newsletter_subscribers", "click", "documents", "studio_content", "api_activity", "signals", "runs", "run_history", "invoices", "object_storage"].includes(source2) : source2 !== "notes" && source2 !== "vault" && source2 !== "api_activity", { path: ["source"], message: "Choose a source available to the selected account or workspace owner." }),
95126
95150
  method: "POST",
95127
95151
  path: (a, ws) => `${collectionApi(ws)}/collections/sources/${encodeURIComponent(a.source)}`,
95128
95152
  body: () => ({})
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scribed/cli",
3
- "version": "0.1.62",
3
+ "version": "0.1.64",
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": "233cd5e6c68a5173bf6f2e549c9783c50b3dd006",
43
43
  "scribedRelease": {
44
44
  "repository": "scribedworks/scribed-works",
45
- "commit": "243d42861d2ba6fbe8f9f4ba25d565bc2598eb3f"
45
+ "commit": "233cd5e6c68a5173bf6f2e549c9783c50b3dd006"
46
46
  }
47
47
  }