@agentproto/catalog-sync 0.2.0 → 0.4.0

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.
@@ -0,0 +1,26 @@
1
+ import { RefreshableSource } from '../refresh-workflow.js';
2
+ import '../types.js';
3
+
4
+ /**
5
+ * OpenAI LLM source contract.
6
+ *
7
+ * OpenAI does **not** publish a stable, machine-readable pricing/model catalog
8
+ * endpoint. The authoritative pricing page is `openai.com/api/pricing`, but it
9
+ * is HTML-only, not a documented API, and has historically changed layout
10
+ * without notice.
11
+ *
12
+ * Therefore this source is intentionally **not refreshable** in the automated
13
+ * `catalog-sync` workflow. Pricing is committed by hand from the official page
14
+ * and cross-checked with third-party aggregators where noted. We do not scrape
15
+ * or guess.
16
+ *
17
+ * If OpenAI releases a stable `/v1/models` endpoint that includes pricing, or
18
+ * a documented pricing JSON feed, this source can be upgraded to refreshable.
19
+ * Until then, the gap is recorded honestly in refresh results.
20
+ */
21
+
22
+ declare const OPENAI_LLM_SOURCE: RefreshableSource;
23
+ /** Convenience array for workflows that want to include the OpenAI contract. */
24
+ declare const OPENAI_SOURCES: RefreshableSource[];
25
+
26
+ export { OPENAI_LLM_SOURCE, OPENAI_SOURCES };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @agentproto/catalog-sync v0.1.0
3
+ * Build-time generator framework for @agentproto/model-catalog.
4
+ * Generates *.generated.ts from pinned provider sources.
5
+ */
6
+
7
+ // src/sources/openai.ts
8
+ var OPENAI_LLM_SOURCE = {
9
+ source: {
10
+ id: "llm-openai",
11
+ url: "https://openai.com/api/pricing"
12
+ },
13
+ refreshable: false,
14
+ notes: "OpenAI has no stable machine-readable pricing endpoint. Pricing in @agentproto/model-catalog is committed manually from openai.com/api/pricing and verified against independent aggregators where possible. Automated refresh is disabled to avoid scraping or fabricating prices."
15
+ };
16
+ var OPENAI_SOURCES = [OPENAI_LLM_SOURCE];
17
+
18
+ export { OPENAI_LLM_SOURCE, OPENAI_SOURCES };
19
+ //# sourceMappingURL=openai.mjs.map
20
+ //# sourceMappingURL=openai.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/sources/openai.ts"],"names":[],"mappings":";;;;;;;AAoBO,IAAM,iBAAA,GAAuC;AAAA,EAClD,MAAA,EAAQ;AAAA,IACN,EAAA,EAAI,YAAA;AAAA,IACJ,GAAA,EAAK;AAAA,GACP;AAAA,EACA,WAAA,EAAa,KAAA;AAAA,EACb,KAAA,EACE;AAKJ;AAGO,IAAM,cAAA,GAAsC,CAAC,iBAAiB","file":"openai.mjs","sourcesContent":["/**\n * OpenAI LLM source contract.\n *\n * OpenAI does **not** publish a stable, machine-readable pricing/model catalog\n * endpoint. The authoritative pricing page is `openai.com/api/pricing`, but it\n * is HTML-only, not a documented API, and has historically changed layout\n * without notice.\n *\n * Therefore this source is intentionally **not refreshable** in the automated\n * `catalog-sync` workflow. Pricing is committed by hand from the official page\n * and cross-checked with third-party aggregators where noted. We do not scrape\n * or guess.\n *\n * If OpenAI releases a stable `/v1/models` endpoint that includes pricing, or\n * a documented pricing JSON feed, this source can be upgraded to refreshable.\n * Until then, the gap is recorded honestly in refresh results.\n */\n\nimport type { RefreshableSource } from \"../refresh-workflow.js\"\n\nexport const OPENAI_LLM_SOURCE: RefreshableSource = {\n source: {\n id: \"llm-openai\",\n url: \"https://openai.com/api/pricing\",\n },\n refreshable: false,\n notes:\n \"OpenAI has no stable machine-readable pricing endpoint. \" +\n \"Pricing in @agentproto/model-catalog is committed manually from \" +\n \"openai.com/api/pricing and verified against independent aggregators \" +\n \"where possible. Automated refresh is disabled to avoid scraping or \" +\n \"fabricating prices.\",\n}\n\n/** Convenience array for workflows that want to include the OpenAI contract. */\nexport const OPENAI_SOURCES: RefreshableSource[] = [OPENAI_LLM_SOURCE]\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentproto/catalog-sync",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Build-time generator framework for @agentproto/model-catalog. Generates *.generated.ts from pinned provider sources (LLM, image, video, audio, voice).",
5
5
  "keywords": [
6
6
  "agentproto",
@@ -18,7 +18,7 @@
18
18
  "bugs": {
19
19
  "url": "https://github.com/agentproto/ts/issues"
20
20
  },
21
- "license": "MIT",
21
+ "license": "Apache-2.0",
22
22
  "publishConfig": {
23
23
  "access": "public"
24
24
  },
@@ -55,11 +55,21 @@
55
55
  "types": "./dist/generators/llm-openrouter.d.ts",
56
56
  "import": "./dist/generators/llm-openrouter.mjs",
57
57
  "default": "./dist/generators/llm-openrouter.mjs"
58
+ },
59
+ "./refresh-workflow": {
60
+ "types": "./dist/refresh-workflow.d.ts",
61
+ "import": "./dist/refresh-workflow.mjs",
62
+ "default": "./dist/refresh-workflow.mjs"
63
+ },
64
+ "./sources/openai": {
65
+ "types": "./dist/sources/openai.d.ts",
66
+ "import": "./dist/sources/openai.mjs",
67
+ "default": "./dist/sources/openai.mjs"
58
68
  }
59
69
  },
60
70
  "dependencies": {
61
71
  "zod": "^4.4.3",
62
- "@agentproto/model-catalog": "0.2.0"
72
+ "@agentproto/model-catalog": "0.4.0"
63
73
  },
64
74
  "devDependencies": {
65
75
  "@types/node": "^25.6.2",