@databutton/firebase-types 1.176.0 → 1.177.1

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.
@@ -1223,11 +1223,9 @@ export interface ProjectMigrationRecord {
1223
1223
  }
1224
1224
  export type ProjectVariant = "beyond-streamlit" | "riff";
1225
1225
  /**
1226
- * Known agent type tags the platform gates specific behavior on (e.g. the
1227
- * orchestrator selecting per-agent-type tool variants for
1228
- * "order-confirmation-agent"). Not a closed set projects may carry other
1229
- * ad-hoc values (e.g. per-customer agents identified only via agentSpecUrl),
1230
- * so this stays open with a string fallback rather than a strict union.
1226
+ * The agent's SKU, as named in the agent catalogue one level more specific
1227
+ * than {@link SpecialProjectType}, which gives the shape: several SKUs are all
1228
+ * operational agents. Open on purpose; not every SKU is listed.
1231
1229
  */
1232
1230
  export type ProjectAgentType = "order-confirmation-agent" | "supplier-communications-agent" | (string & {});
1233
1231
  export interface IntegrationPackages {
@@ -1625,7 +1623,7 @@ export interface Project {
1625
1623
  githubUrl?: string;
1626
1624
  /** URL to the agent type spec document (e.g. riff-agent-docs/agents/supplier-communications-agent.md). */
1627
1625
  agentSpecUrl?: string;
1628
- /** Agent type tag identifying which kind of agent this project implements (e.g. "supplier-communications-agent"). */
1626
+ /** The agent's SKU see {@link ProjectAgentType}. */
1629
1627
  agentType?: ProjectAgentType;
1630
1628
  isShowcase?: boolean;
1631
1629
  last_deployed?: Timestamp;
@@ -1805,6 +1803,15 @@ export interface ProjectTemplate {
1805
1803
  build: ProjectTemplateBuildSnapshot;
1806
1804
  targetPoolSize?: number;
1807
1805
  variant: ProjectVariant;
1806
+ /**
1807
+ * The project kind and SKU inherited by projects created from this template.
1808
+ * Snapshotted from the project the template was built from, so a new agent
1809
+ * starts out as the same kind of agent, with the same SKU, as the one it was
1810
+ * modelled on. Unset means the created project gets no kind or SKU either.
1811
+ */
1812
+ specialType?: SpecialProjectType;
1813
+ /** See {@link ProjectAgentType}. Snapshotted alongside {@link specialType}. */
1814
+ agentType?: ProjectAgentType;
1808
1815
  initialPromptInstructions?: string;
1809
1816
  secretNames?: string[];
1810
1817
  secretRefs?: {
@@ -2747,8 +2754,19 @@ export interface AgentSkillBase {
2747
2754
  content: string;
2748
2755
  availability: "draft" | "preview" | "active";
2749
2756
  /**
2750
- * Restricts which kind of project can see this skill, mirroring
2751
- * SpecialProjectType on the project doc.
2757
+ * Restricts which kinds of project can see this skill, mirroring
2758
+ * SpecialProjectType on the project doc. More than one kind may be listed:
2759
+ * a skill that reads the same for an operational agent and for a strategic
2760
+ * agent (a copilot) is tagged with both rather than duplicated per kind,
2761
+ * while one that does not — configuring a trigger, say — names only the kind
2762
+ * it applies to.
2763
+ *
2764
+ * Set this on new and edited skills. Unset or empty falls back to `type`.
2765
+ */
2766
+ types?: SpecialProjectType[] | null;
2767
+ /**
2768
+ * Superseded by `types`, which can carry more than one kind. Still read when
2769
+ * `types` is unset, so skills written before it keep resolving.
2752
2770
  * - null: defaults to SpecialProjectType.APP (backwards compatible)
2753
2771
  */
2754
2772
  type?: SpecialProjectType | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databutton/firebase-types",
3
- "version": "1.176.0",
3
+ "version": "1.177.1",
4
4
  "main": "lib/types/published/index.js",
5
5
  "type": "module",
6
6
  "engines": {