@trace.market/types 0.4.0 → 0.4.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.
- package/.github/plan-authentiqTypesIntegration.prompt.md +154 -0
- package/.github/workflows/build-mcp.yml +1 -1
- package/.github/workflows/publish.yml +22 -25
- package/CHANGELOG.md +1 -2
- package/field-capabilities.csv +108 -0
- package/mcp-server/agents-usage-prompt.md +100 -0
- package/mcp-server/data/usage-registry.json +253 -0
- package/mcp-server/docker-compose.yml +22 -0
- package/mcp-server/docs/openapi.yaml +1475 -0
- package/mcp-server/example.json +236 -0
- package/mcp-server/graph_debug.json +1 -0
- package/mcp-server/package-lock.json +925 -4
- package/mcp-server/package.json +5 -1
- package/mcp-server/public/index.html +2117 -0
- package/mcp-server/public/vendor/three-webgpu.js +7 -0
- package/mcp-server/src/agents/orchestrator.ts +80 -0
- package/mcp-server/src/agents/prompts.json +7 -0
- package/mcp-server/src/ai-service.ts +41 -2
- package/mcp-server/src/db.ts +120 -0
- package/mcp-server/src/embedding.ts +20 -0
- package/mcp-server/src/index.ts +548 -1
- package/mcp-server/src/parser.ts +41 -0
- package/mcp-server/src/scripts/seed-db.ts +91 -0
- package/package.json +1 -1
- package/src/authentiq.ts +493 -0
- package/src/descriptions.json +3 -16
- package/src/descriptions.ts +3 -12
- package/src/index.d.ts +19 -3
- package/src/ENov +0 -261
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
## Plan: Authentiq Types Integration
|
|
2
|
+
|
|
3
|
+
Add marketplace-layer types from src/authentiq.ts into the package in a way that complements, rather than replaces, the existing supply-chain model in src/index.d.ts. Reuse current Price, Facility, Process, ProductInstance, ToolInstance, and KnowHow where possible; add only the missing entity layers and bridge fields needed to map products, services, know-how, and offers.
|
|
4
|
+
|
|
5
|
+
**Steps**
|
|
6
|
+
1. Keep current supply-chain core in place: ProductInstance, Process, KnowHow, Impact, Facility, Price remain the package foundation.
|
|
7
|
+
2. Add missing marketplace primitives from authentiq.ts: MediaFile, GeoLocation, SocialAccount, Availability, WeeklyTimeSlot, OneTimeDateSlot, ServiceDeliveryModes, plus bounded enums that are not already covered.
|
|
8
|
+
3. Add missing entity hierarchy: ProofOfProvenance, ProofOfProduct, ProofOfService, ProductType, ServiceType, ProductItem, ServiceItem, plus create/update request types only if the package is intended to ship API contracts.
|
|
9
|
+
4. Bridge marketplace entities to supply-chain entities instead of duplicating them: connect ProductType and ServiceType to KnowHow, ToolInstance, Impact, and ProductInstance/Process references.
|
|
10
|
+
5. Normalize overlaps carefully: decide whether Price.currency should become a tighter union, whether GeoLocation should coexist with GeoJSON Point Location, and whether License should be shared by KnowHow and Product/Service offerings.
|
|
11
|
+
6. Extend descriptions metadata for any newly exported public types so MCP graph/editor features can explain them consistently.
|
|
12
|
+
7. Verify with tsc --noEmit and check that public exports remain backward compatible.
|
|
13
|
+
|
|
14
|
+
**Relevant files**
|
|
15
|
+
- /opt/tm-types/src/index.d.ts — current supply-chain/public type surface to preserve and extend
|
|
16
|
+
- /opt/tm-types/src/authentiq.ts — candidate marketplace/product/service model to integrate
|
|
17
|
+
- /opt/tm-types/src/descriptions.ts — field metadata that should be kept in sync with public types
|
|
18
|
+
- /opt/tm-types/package.json — confirms package entrypoint is src/index.d.ts
|
|
19
|
+
|
|
20
|
+
**Verification**
|
|
21
|
+
1. Confirm no duplicate/conflicting public names between authentiq.ts and index.d.ts.
|
|
22
|
+
2. Validate that ProductType/ServiceType can reference KnowHow, ToolInstance, and Impact without introducing circular ambiguity.
|
|
23
|
+
3. Run npm run validate in /opt/tm-types.
|
|
24
|
+
|
|
25
|
+
**Decisions**
|
|
26
|
+
- Include: entity layers needed for provenance, products, services, offers, scheduling, media, and social metadata.
|
|
27
|
+
- Exclude by default: private identity fields in PersonalData and CRUD API interfaces unless this package is intentionally becoming an API contract package.
|
|
28
|
+
- Preferred approach: additive exports plus bridge fields/types, not a rewrite of existing supply-chain types.
|
|
29
|
+
|
|
30
|
+
I’m comparing the attached Authentiq model against the existing types package so I can identify the minimum fields and structures needed to represent services, products, and know-how cleanly without overloading the current schema.
|
|
31
|
+
|
|
32
|
+
Compare authentiq to types
|
|
33
|
+
|
|
34
|
+
Read memory
|
|
35
|
+
|
|
36
|
+
Read [](file:///opt/tm-types)
|
|
37
|
+
|
|
38
|
+
Read [](file:///opt/tm-types/src/authentiq.ts#1-1), lines 1 to 300
|
|
39
|
+
|
|
40
|
+
Read [](file:///opt/tm-types/src)
|
|
41
|
+
|
|
42
|
+
Read [](file:///opt/tm-types/src/authentiq.ts#300-300), lines 300 to 493
|
|
43
|
+
|
|
44
|
+
Read [](file:///opt/tm-types/src/index.d.ts)
|
|
45
|
+
|
|
46
|
+
Read [](file:///opt/tm-types/src/descriptions.ts#1-1), lines 1 to 500
|
|
47
|
+
|
|
48
|
+
Read [](file:///opt/tm-types/src/openlcaMcpTypes.ts)
|
|
49
|
+
|
|
50
|
+
Searched for regex `KnowHow|Media|Location|Pricing|Availability|Organization` (`ssh-remote+167.235.250.122` · `opt/tm-types/src/**`), 20 results
|
|
51
|
+
|
|
52
|
+
Read [](file:///opt/tm-types/src/descriptions.ts#500-500), lines 500 to 759
|
|
53
|
+
|
|
54
|
+
Created memory file [](file:///root/.vscode-server/data/User/workspaceStorage/ce8095297ecce63c8ebdb28cda4536e1/GitHub.copilot-chat/memory-tool/memories/NTYzZTkxNTAtNjRmYy00NWU1LTkzZmQtNTgxZjNhZjMzNmVm/tm-types-authentiq-analysis.md)
|
|
55
|
+
|
|
56
|
+
I have the comparison report. Next I’m pulling the current package symbols and the subagent’s findings into a concrete recommendation set so the answer stays tied to what already exists in this repo.
|
|
57
|
+
|
|
58
|
+
Searching for files matching `ssh-remote+167.235.250.122` · `opt/tm-types/src/*`
|
|
59
|
+
|
|
60
|
+
Searched for regex `KnowHow|FoodInstance|ProductInstance|Impact|Facility|Location|Price|MachineInstance|Service|Product|provenance` (`ssh-remote+167.235.250.122` · `opt/tm-types/src/**`), 200 results
|
|
61
|
+
|
|
62
|
+
Read [](file:///root/.vscode-server/data/User/workspaceStorage/ce8095297ecce63c8ebdb28cda4536e1/GitHub.copilot-chat/chat-session-resources/563e9150-64fc-45e5-93fd-581f3af336ef/call_jMNmeQVYFe1zCVZBVBJ7VPrP__vscode-1774861952263/content.txt)
|
|
63
|
+
|
|
64
|
+
I’ve confirmed the current package already has process, impact, price, facility, and know-how concepts. I’m pulling the exact core type definitions now so the recommendation is limited to what is genuinely missing rather than duplicating what the package already models.
|
|
65
|
+
|
|
66
|
+
Read [](file:///opt/tm-types/src/index.d.ts#1-1), lines 1 to 260
|
|
67
|
+
|
|
68
|
+
Read [](file:///opt/tm-types/src/descriptions.ts#440-440), lines 440 to 740
|
|
69
|
+
|
|
70
|
+
Read [](file:///opt/tm-types/package.json)
|
|
71
|
+
|
|
72
|
+
I have enough context to make a scoped recommendation. I’m saving a concise integration plan in session memory so the package changes and boundaries are explicit if you want to implement this next.
|
|
73
|
+
|
|
74
|
+
Created memory file [](file:///root/.vscode-server/data/User/workspaceStorage/ce8095297ecce63c8ebdb28cda4536e1/GitHub.copilot-chat/memory-tool/memories/NTYzZTkxNTAtNjRmYy00NWU1LTkzZmQtNTgxZjNhZjMzNmVm/plan.md)
|
|
75
|
+
|
|
76
|
+
The current package already covers the supply-chain side well: ProductInstance, Process, Facility, Price, ToolInstance, Impact, and KnowHow are already in src/index.d.ts through src/index.d.ts. What it does not have is the marketplace and provenance hierarchy from the attachment. So the fields to add are mostly the ones that describe who offers something, what is being offered, and how that offer is scheduled or presented.
|
|
77
|
+
|
|
78
|
+
**What to add**
|
|
79
|
+
Add the missing entity layers from src/authentiq.ts to the public package surface:
|
|
80
|
+
|
|
81
|
+
- Provenance / org layer from src/authentiq.ts:
|
|
82
|
+
ProofOfProvenance fields: id, walletAddress, name, keywords, websiteUrl, description, location, logo, peers, intellectualProperty, createdAt, updatedAt
|
|
83
|
+
|
|
84
|
+
- Product DAO layer from src/authentiq.ts:
|
|
85
|
+
ProofOfProduct fields: id, walletAddress, provenanceId, name, keywords, websiteUrl, description, location, logo, peers, productTypes, createdAt, updatedAt
|
|
86
|
+
|
|
87
|
+
- Service DAO layer from src/authentiq.ts:
|
|
88
|
+
ProofOfService fields: id, walletAddress, provenanceId, name, keywords, websiteUrl, description, location, logo, peers, serviceTypes, createdAt, updatedAt
|
|
89
|
+
|
|
90
|
+
- Product offer template layer from src/authentiq.ts:
|
|
91
|
+
ProductType fields: id, walletAddress, productId, name, keywords, license, physicalSpecs, price, currency, openForSpecialRequests, shortDescription, contents, specificDescription, photos, documentProofs, validationCertificates, createdAt, updatedAt
|
|
92
|
+
|
|
93
|
+
- Service offer template layer from src/authentiq.ts:
|
|
94
|
+
ServiceType fields: id, walletAddress, serviceId, name, keywords, license, availability, deliveryModes, averageDuration, durationUnit, price, currency, openForSpecialRequests, shortDescription, contents, specificDescription, photos, documentProofs, validationCertificates, createdAt, updatedAt
|
|
95
|
+
|
|
96
|
+
- Product listing layer from src/authentiq.ts:
|
|
97
|
+
ProductItem fields: id, walletAddress, productTypeId, providerWalletAddress, relatedPlatforms, category, keywords, quantity, quantityUnit, offerValidFrom, offerValidTo, description, location, photos, createdAt, updatedAt
|
|
98
|
+
|
|
99
|
+
- Service listing layer from src/authentiq.ts:
|
|
100
|
+
ServiceItem fields: id, walletAddress, serviceTypeId, providerWalletAddress, relatedPlatforms, category, keywords, occasionsToOffer, offerValidFrom, offerValidTo, description, location, photos, createdAt, updatedAt
|
|
101
|
+
|
|
102
|
+
**Supporting types you should also add**
|
|
103
|
+
These are the attachment fields that make the above usable and are not already well represented in the package:
|
|
104
|
+
|
|
105
|
+
- GeoLocation: address, lat, lng from src/authentiq.ts
|
|
106
|
+
- MediaFile: id, url, caption, mimeType, uploadedAt from src/authentiq.ts
|
|
107
|
+
- SocialAccount: platform, handle from src/authentiq.ts
|
|
108
|
+
- Availability: mode, timezone, weekly, onetime from src/authentiq.ts
|
|
109
|
+
- WeeklyTimeSlot: day, startTime, endTime from src/authentiq.ts
|
|
110
|
+
- OneTimeDateSlot: date, startTime, endTime from src/authentiq.ts
|
|
111
|
+
- ServiceDeliveryModes: online, inPerson, onSite from src/authentiq.ts
|
|
112
|
+
- ProductPhysicalSpecs: dimensions, dimensionsUnit, weight, weightUnit, netVolume, volumeUnit, packagingQuantity, packagingType from src/authentiq.ts
|
|
113
|
+
- IntellectualProperty: license, description, photos, documentProofs, validationCertificates from src/authentiq.ts
|
|
114
|
+
|
|
115
|
+
**What to map, not duplicate**
|
|
116
|
+
A few attachment concepts overlap with the existing package and should be bridged instead of copied blindly:
|
|
117
|
+
|
|
118
|
+
- Know-how: keep the existing KnowHow from src/index.d.ts, then let ProductType and ServiceType reference it.
|
|
119
|
+
- Price: the package already has Price in src/index.d.ts. I would extend or normalize that rather than introducing a second price shape.
|
|
120
|
+
- Location: the package uses GeoJSON Point as Location in src/index.d.ts, while Authentiq uses GeoLocation with address plus lat/lng. Keep both only if you need both map precision and human-readable address; otherwise define one canonical location model and adapters.
|
|
121
|
+
- Impact and ToolInstance already exist in src/index.d.ts and src/index.d.ts. ProductType and ServiceType should reference these rather than re-declare similar fields.
|
|
122
|
+
|
|
123
|
+
**What I would not add by default**
|
|
124
|
+
These are valid in the attachment, but I would keep them out of the core types package unless you explicitly want this package to become an API-contract and identity package:
|
|
125
|
+
|
|
126
|
+
- PersonalData from src/authentiq.ts, especially bankAccountIban, identityCardNumber, passportNumber, ssn, biometricProofs, medicalRecords
|
|
127
|
+
- CRUD API interfaces from src/authentiq.ts
|
|
128
|
+
- Create and update request types, unless this package is meant to ship request/response DTOs as part of the public contract
|
|
129
|
+
|
|
130
|
+
**Recommended minimal set**
|
|
131
|
+
If you want the smallest useful addition for mapping services, products, and know-how, add only:
|
|
132
|
+
|
|
133
|
+
1. ProofOfProvenance
|
|
134
|
+
2. ProofOfProduct
|
|
135
|
+
3. ProofOfService
|
|
136
|
+
4. ProductType
|
|
137
|
+
5. ServiceType
|
|
138
|
+
6. ProductItem
|
|
139
|
+
7. ServiceItem
|
|
140
|
+
8. GeoLocation
|
|
141
|
+
9. MediaFile
|
|
142
|
+
10. Availability, WeeklyTimeSlot, OneTimeDateSlot
|
|
143
|
+
11. ServiceDeliveryModes
|
|
144
|
+
12. ProductPhysicalSpecs
|
|
145
|
+
13. IntellectualProperty
|
|
146
|
+
|
|
147
|
+
Then add bridge references so ProductType and ServiceType can point to existing KnowHow, ToolInstance, Impact, and optionally ProductInstance or Process.
|
|
148
|
+
|
|
149
|
+
**Plan**
|
|
150
|
+
I saved a scoped integration plan in session memory at /memories/session/plan.md. The core recommendation is additive: keep the existing supply-chain model in src/index.d.ts, export the marketplace hierarchy from src/authentiq.ts, and connect the two with a few reference fields instead of rewriting the current model.
|
|
151
|
+
|
|
152
|
+
If you want, the next step can be either:
|
|
153
|
+
1. I draft the exact merged public type surface for src/index.d.ts
|
|
154
|
+
2. I propose the bridge fields between ProductType or ServiceType and KnowHow or Process before any code changes
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
|
|
25
25
|
- uses: actions/setup-node@v4
|
|
26
26
|
with:
|
|
27
|
-
node-version: '
|
|
27
|
+
node-version: '24'
|
|
28
28
|
registry-url: 'https://registry.npmjs.org'
|
|
29
29
|
|
|
30
30
|
- name: Install dependencies
|
|
@@ -33,40 +33,37 @@ jobs:
|
|
|
33
33
|
- name: Validate types
|
|
34
34
|
run: npm run validate
|
|
35
35
|
|
|
36
|
-
- name:
|
|
37
|
-
id: check
|
|
36
|
+
- name: Auto-bump patch if version already published
|
|
38
37
|
run: |
|
|
39
38
|
git fetch --tags
|
|
39
|
+
git config user.name "GitHub Actions"
|
|
40
|
+
git config user.email "actions@github.com"
|
|
40
41
|
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
|
41
|
-
|
|
42
|
-
echo "
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
while git rev-parse "v$CURRENT_VERSION" >/dev/null 2>&1; do
|
|
43
|
+
echo "Tag v$CURRENT_VERSION already exists – bumping patch"
|
|
44
|
+
npm version patch --no-git-tag-version
|
|
45
|
+
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
|
46
|
+
done
|
|
47
|
+
echo "Publishing as v$CURRENT_VERSION"
|
|
48
|
+
echo "version=$CURRENT_VERSION" >> $GITHUB_ENV
|
|
49
|
+
git add package.json
|
|
50
|
+
git commit -m "chore: auto-bump to v$CURRENT_VERSION [skip ci]" || true
|
|
51
|
+
|
|
50
52
|
- name: Publish to NPM
|
|
51
|
-
if: steps.check.outputs.changed == 'true'
|
|
52
53
|
run: npm publish --provenance --access public
|
|
53
54
|
env:
|
|
54
55
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
55
|
-
|
|
56
|
-
- name: Create Git tag
|
|
57
|
-
if: steps.check.outputs.changed == 'true'
|
|
56
|
+
|
|
57
|
+
- name: Create Git tag and push
|
|
58
58
|
run: |
|
|
59
|
-
git
|
|
60
|
-
git
|
|
61
|
-
|
|
62
|
-
git push origin "v${{ steps.check.outputs.version }}"
|
|
63
|
-
|
|
59
|
+
git tag "v${{ env.version }}"
|
|
60
|
+
git push origin HEAD:main "v${{ env.version }}"
|
|
61
|
+
|
|
64
62
|
- name: Create GitHub Release
|
|
65
|
-
|
|
66
|
-
uses: softprops/action-gh-release@v1
|
|
63
|
+
uses: softprops/action-gh-release@v2
|
|
67
64
|
with:
|
|
68
|
-
tag_name: v${{
|
|
69
|
-
name: Release v${{
|
|
65
|
+
tag_name: v${{ env.version }}
|
|
66
|
+
name: Release v${{ env.version }}
|
|
70
67
|
draft: false
|
|
71
68
|
prerelease: false
|
|
72
69
|
env:
|
package/CHANGELOG.md
CHANGED
|
@@ -9,8 +9,7 @@ All notable changes to this project will be documented in this file.
|
|
|
9
9
|
|
|
10
10
|
### Features
|
|
11
11
|
- **Process Types**: Added `PyrolysisProcess` and `DistillationProcess`.
|
|
12
|
-
- **
|
|
13
|
-
- **Process**: Added `parameters` to `GenericProcess` for capturing real-time or run-specific data (pressure, speed, etc.).
|
|
12
|
+
- **Process**: Added `notes` to `GenericProcess` for capturing real-time or run-specific data (pressure, speed, etc.).
|
|
14
13
|
- **Icons**: Added icons for new processes (`local_fire_department` for Pyrolysis, `science` for Distillation).
|
|
15
14
|
|
|
16
15
|
## [0.3.0] - 2026-01-19
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
field,parent,category,type,labels
|
|
2
|
+
errorMessage,FetchError,support,string,supply-chain tracking
|
|
3
|
+
notes,Pokedex,support,string,"supply-chain tracking, selling it online"
|
|
4
|
+
roles,Pokedex,support,string,supply-chain tracking
|
|
5
|
+
token,Pokedex,support,string,supply-chain tracking
|
|
6
|
+
typesVersion,Pokedex,support,string,selling it online
|
|
7
|
+
instance,Pokedex,support,ProductInstance,supply-chain tracking
|
|
8
|
+
label,Facility,support,string,supply-chain tracking
|
|
9
|
+
location,Facility,support,Location,supply-chain tracking
|
|
10
|
+
timestamp,GenericProcess,process,number,"estimate carbon footprint, supply-chain tracking"
|
|
11
|
+
duration,GenericProcess,process,number,estimate carbon footprint
|
|
12
|
+
facility,GenericProcess,process,Facility,"estimate carbon footprint, supply-chain tracking"
|
|
13
|
+
temperatureRange,GenericProcess,process,TemperatureRange,estimate carbon footprint
|
|
14
|
+
inputInstances,GenericProcess,process,(TransportedInputInstance | LocalInputInstance)[],"estimate carbon footprint, supply-chain tracking"
|
|
15
|
+
impacts,GenericProcess,process,Impact[],estimate carbon footprint
|
|
16
|
+
price,GenericProcess,process,Price,selling it online
|
|
17
|
+
hr,GenericProcess,process,Hr,"estimate carbon footprint, supply-chain tracking"
|
|
18
|
+
notes,GenericProcess,process,"Record<string, string | number | boolean>","supply-chain tracking, selling it online"
|
|
19
|
+
type,PrintingProcess,process,"""printing""",selling it online
|
|
20
|
+
toolInstance,PrintingProcess,process,TokenIdOr<ToolInstance>,"estimate carbon footprint, supply-chain tracking"
|
|
21
|
+
knowHow,PrintingProcess,process,TokenIdOr<KnowHow>,supply-chain tracking
|
|
22
|
+
shape,PrintingProcess,process,string /* URL */,"estimate carbon footprint, supply-chain tracking"
|
|
23
|
+
type,MillingProcess,process,"""milling""",selling it online
|
|
24
|
+
knowHow,MillingProcess,process,TokenIdOr<KnowHow>,supply-chain tracking
|
|
25
|
+
toolInstance,MillingProcess,process,TokenIdOr<ToolInstance>,"estimate carbon footprint, supply-chain tracking"
|
|
26
|
+
type,FreezeDryingProcess,process,"""freezedrying""",selling it online
|
|
27
|
+
knowHow,FreezeDryingProcess,process,TokenIdOr<KnowHow>,supply-chain tracking
|
|
28
|
+
toolInstance,FreezeDryingProcess,process,TokenIdOr<ToolInstance>,"estimate carbon footprint, supply-chain tracking"
|
|
29
|
+
type,BlendingProcess,process,"""blending""",selling it online
|
|
30
|
+
toolInstance,BlendingProcess,process,TokenIdOr<ToolInstance>,"estimate carbon footprint, supply-chain tracking"
|
|
31
|
+
knowHow,BlendingProcess,process,TokenIdOr<KnowHow>,supply-chain tracking
|
|
32
|
+
type,SaleProcess,process,"""sale""",selling it online
|
|
33
|
+
price,SaleProcess,process,Price,selling it online
|
|
34
|
+
type,HarvestProcess,process,"""harvest""",selling it online
|
|
35
|
+
type,CookingProcess,process,"""cooking""",selling it online
|
|
36
|
+
method,CookingProcess,process,"""baking"" | ""boiling"" | ""frying"" | ""steaming"" | ""roasting"" | ""sous-vide"" | ""grilling""","estimate carbon footprint, supply-chain tracking"
|
|
37
|
+
toolInstance,CookingProcess,process,TokenIdOr<ToolInstance>,"estimate carbon footprint, supply-chain tracking"
|
|
38
|
+
knowHow,CookingProcess,process,TokenIdOr<KnowHow>,supply-chain tracking
|
|
39
|
+
type,PyrolysisProcess,process,"""pyrolysis""",selling it online
|
|
40
|
+
toolInstance,PyrolysisProcess,process,TokenIdOr<ToolInstance>,"estimate carbon footprint, supply-chain tracking"
|
|
41
|
+
knowHow,PyrolysisProcess,process,TokenIdOr<KnowHow>,supply-chain tracking
|
|
42
|
+
type,DistillationProcess,process,"""distillation""",selling it online
|
|
43
|
+
toolInstance,DistillationProcess,process,TokenIdOr<ToolInstance>,"estimate carbon footprint, supply-chain tracking"
|
|
44
|
+
knowHow,DistillationProcess,process,TokenIdOr<KnowHow>,supply-chain tracking
|
|
45
|
+
amount,Price,support,number,supply-chain tracking
|
|
46
|
+
currency,Price,support,string,supply-chain tracking
|
|
47
|
+
type,Price,support,"""budget"" | ""is"" | ""%"" | ""payin30days"" | ""payin60days""",selling it online
|
|
48
|
+
instance,GenericInputInstance,product,TokenIdOr<ProductInstance>,supply-chain tracking
|
|
49
|
+
quantity,GenericInputInstance,product,number,estimate carbon footprint
|
|
50
|
+
type,LocalInputInstance,product,"""local""",selling it online
|
|
51
|
+
type,TransportedInputInstance,product,"""transported""","estimate carbon footprint, supply-chain tracking, selling it online"
|
|
52
|
+
transport,TransportedInputInstance,product,Transport,"estimate carbon footprint, supply-chain tracking"
|
|
53
|
+
method,Transport,support,TransportMethod,"estimate carbon footprint, supply-chain tracking"
|
|
54
|
+
fuelType,Transport,support,"""hydrogen"" | ""electric"" | ""diesel"" | ""petrol"" | ""kerosene""","estimate carbon footprint, selling it online"
|
|
55
|
+
weight,Transport,support,number,estimate carbon footprint
|
|
56
|
+
deparetureTime,Transport,support,number,supply-chain tracking
|
|
57
|
+
duration,Transport,support,number,estimate carbon footprint
|
|
58
|
+
type,ProductInstanceBase,product,string,selling it online
|
|
59
|
+
ownerId,ProductInstanceBase,product,string,supply-chain tracking
|
|
60
|
+
expiryDate,ProductInstanceBase,product,number,"selling it online, supply-chain tracking"
|
|
61
|
+
bio,ProductInstanceBase,product,boolean,"selling it online, supply-chain tracking"
|
|
62
|
+
quantity,ProductInstanceBase,product,number,estimate carbon footprint
|
|
63
|
+
price,ProductInstanceBase,product,Price,selling it online
|
|
64
|
+
title,ProductInstanceBase,product,string,selling it online
|
|
65
|
+
notes,ProductInstanceBase,product,string,"supply-chain tracking, selling it online"
|
|
66
|
+
pictureURL,ProductInstanceBase,product,string,selling it online
|
|
67
|
+
category,FoodInstance,product,"""food""","supply-chain tracking, selling it online"
|
|
68
|
+
iDs,FoodInstance,product,ID[],supply-chain tracking
|
|
69
|
+
nutrients,FoodInstance,product,FallbackFoodNutrient[],"selling it online, supply-chain tracking"
|
|
70
|
+
format,FoodInstance,product,string,selling it online
|
|
71
|
+
grade,FoodInstance,product,string,selling it online
|
|
72
|
+
size,FoodInstance,product,string,selling it online
|
|
73
|
+
process,FoodInstance,product,Process,"estimate carbon footprint, supply-chain tracking"
|
|
74
|
+
labels,FoodInstance,product,string[],selling it online
|
|
75
|
+
category,NonFoodInstance,product,"""non-food""","supply-chain tracking, selling it online"
|
|
76
|
+
grade,NonFoodInstance,product,string,selling it online
|
|
77
|
+
size,NonFoodInstance,product,string,selling it online
|
|
78
|
+
labels,NonFoodInstance,product,string[],selling it online
|
|
79
|
+
category,PackagingInstance,product,"""packaging""","supply-chain tracking, selling it online"
|
|
80
|
+
material,PackagingInstance,product,string,"selling it online, supply-chain tracking"
|
|
81
|
+
labels,PackagingInstance,product,string[],selling it online
|
|
82
|
+
amount,FallbackFoodNutrient,product,number,"selling it online, supply-chain tracking"
|
|
83
|
+
iD,FallbackFoodNutrient,product,ID,supply-chain tracking
|
|
84
|
+
category,ToolInstance,product,string,"supply-chain tracking, selling it online"
|
|
85
|
+
ownerId,ToolInstance,product,string,supply-chain tracking
|
|
86
|
+
quantity,ToolInstance,product,number,estimate carbon footprint
|
|
87
|
+
size,ToolInstance,product,string,selling it online
|
|
88
|
+
ratedPowerKW,ToolInstance,product,number,estimate carbon footprint
|
|
89
|
+
providerSDomain,ToolInstance,product,string,supply-chain tracking
|
|
90
|
+
hash,ToolInstance,product,string,supply-chain tracking
|
|
91
|
+
tasks,Hr,support,string[],supply-chain tracking
|
|
92
|
+
assignee,Hr,support,string,supply-chain tracking
|
|
93
|
+
min,TemperatureRange,support,number,supply-chain tracking
|
|
94
|
+
max,TemperatureRange,support,number,supply-chain tracking
|
|
95
|
+
owner,KnowHow,support,string,supply-chain tracking
|
|
96
|
+
hash,KnowHow,support,string,supply-chain tracking
|
|
97
|
+
inputs,KnowHow,support,string,"estimate carbon footprint, supply-chain tracking"
|
|
98
|
+
outputs,KnowHow,support,string | object,supply-chain tracking
|
|
99
|
+
licenseFee,KnowHow,support,Price,"supply-chain tracking, selling it online"
|
|
100
|
+
note,KnowHow,support,string | object,supply-chain tracking
|
|
101
|
+
logoURL,KnowHow,support,string,selling it online
|
|
102
|
+
ownerId,GenericImpact,impact,string,supply-chain tracking
|
|
103
|
+
format,GenericImpact,impact,string,selling it online
|
|
104
|
+
quantity,GenericImpact,impact,number,estimate carbon footprint
|
|
105
|
+
category,CarbonImpact,impact,"""carbon""","estimate carbon footprint, supply-chain tracking, selling it online"
|
|
106
|
+
category,WaterImpact,impact,"""water""","estimate carbon footprint, supply-chain tracking, selling it online"
|
|
107
|
+
registry,ID,support,string,supply-chain tracking
|
|
108
|
+
id,ID,support,string,supply-chain tracking
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# TM Types Usage Audit Prompt
|
|
2
|
+
|
|
3
|
+
Use this prompt with each agent/team who owns a microservice or module.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Goal
|
|
8
|
+
Identify which `tm-types` are used by each microservice/module **and** what each service/module can do so we can:
|
|
9
|
+
- **Containerize** them logically
|
|
10
|
+
- **Reduce redundancy** (overlaps)
|
|
11
|
+
- Plan roadmap from **current** to **target** usage
|
|
12
|
+
- Monetize each container as APIs/SDKs/GUIs
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Please return the following JSON
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"service": {
|
|
21
|
+
"name": "<service name>",
|
|
22
|
+
"status": "current | target",
|
|
23
|
+
"description": "<what this service does>",
|
|
24
|
+
"features": {
|
|
25
|
+
"gui": ["<feature exposed in UI>", "..."],
|
|
26
|
+
"api": ["<feature exposed programmatically>", "..."],
|
|
27
|
+
"mcp": ["<feature exposed via MCP>", "..."]
|
|
28
|
+
},
|
|
29
|
+
"modules": [
|
|
30
|
+
{
|
|
31
|
+
"name": "<module name>",
|
|
32
|
+
"status": "current | target",
|
|
33
|
+
"description": "<module purpose>",
|
|
34
|
+
"features": {
|
|
35
|
+
"gui": ["<feature exposed in UI>", "..."],
|
|
36
|
+
"api": ["<feature exposed programmatically>", "..."],
|
|
37
|
+
"mcp": ["<feature exposed via MCP>", "..."]
|
|
38
|
+
},
|
|
39
|
+
"types": [
|
|
40
|
+
"<tm-type-1>",
|
|
41
|
+
"<tm-type-2>",
|
|
42
|
+
"..."
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Guidance
|
|
53
|
+
- **List every `tm-type`** your module uses (interfaces or types).
|
|
54
|
+
- **List features** for both GUI and programmatic surfaces (API/SDK/MCP).
|
|
55
|
+
- Mark **status** as `current` for today’s usage and `target` for your ideal future usage.
|
|
56
|
+
- If a module is planned but not live, still list it as `target`.
|
|
57
|
+
- If unsure about a type name, include your best guess and a note.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Examples
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"service": {
|
|
66
|
+
"name": "Pricing Service",
|
|
67
|
+
"status": "current",
|
|
68
|
+
"description": "Calculates price quotes and promotions",
|
|
69
|
+
"features": {
|
|
70
|
+
"gui": ["Quote preview", "Promo simulator"],
|
|
71
|
+
"api": ["Quote calculation", "Discount eligibility"],
|
|
72
|
+
"mcp": ["Quote intent", "Promotion suggestion"]
|
|
73
|
+
},
|
|
74
|
+
"modules": [
|
|
75
|
+
{
|
|
76
|
+
"name": "Quote Engine",
|
|
77
|
+
"status": "current",
|
|
78
|
+
"description": "Builds live quotes from inputs",
|
|
79
|
+
"features": {
|
|
80
|
+
"gui": ["Live quote panel"],
|
|
81
|
+
"api": ["/quotes/preview"],
|
|
82
|
+
"mcp": ["quote.generate"]
|
|
83
|
+
},
|
|
84
|
+
"types": ["Price", "Money", "Discount", "ProductInstance"]
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "Promo Simulator",
|
|
88
|
+
"status": "target",
|
|
89
|
+
"description": "What-if promo analysis",
|
|
90
|
+
"features": {
|
|
91
|
+
"gui": ["Scenario builder"],
|
|
92
|
+
"api": ["/promos/simulate"],
|
|
93
|
+
"mcp": ["promo.simulate"]
|
|
94
|
+
},
|
|
95
|
+
"types": ["Price", "Promotion", "Scenario"]
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|